This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 已经实现了PAGED-SEGMENTATION的操作系统,准备自己写一个小数据库.SORTING用什么算法好?记录长度是PAGE的64分之一.就算这有100万条记录的样子来写,看看八卦轮胎等'高手"有什么主意?
-iwantcar(EnjoyStudying);
2006-5-8
(#2954959@0)
-
你问错了人。 Linus Torvalds的电话是:+1 (408) 327 9830 x328
-canadiantire(轮胎(do ut des));
2006-5-8
(#2955199@0)
-
i see
-iwantcar(EnjoyStudying);
2006-5-8
(#2955465@0)
-
sorting算法终于调试完成,100K条记录,每条64个字节,按4个FIELD组合排序,总长40BYTE.时间只是用几秒就在硬盘上完成了.用的RAM只有1K.程序写了16天,当然,真正写才用了3天,其他时间都在想,还有考虑以后和数据库其他部分的整合.
燕雀安知鸿鹕之志?
现在对不少系统软件都写过了,磨了十年的剑,总有一天,我要让它光辉灿烂.
其实,PAGE-SEGMENTATION的系统我也就是用了20多天就写完了,想的时间很多,写的时间很少.
LINUX也不是真正的PAGE-SEGMENTATION.
哈哈哈.
-iwantcar(EnjoyStudying);
2006-5-12
{311}
(#2965508@0)
-
恭喜恭喜, 能不能牺牲内存换取更快的速度, 比如用100KRAM, 把速度提到1秒. 还有建议你不要往关系型数据库里再扎堆了, 能不能搞搞XML数据库, 搞个比XLST快的.
-yimingma(2006);
2006-5-12
(#2965816@0)
-
你现在的算法的性能指标如何?
-iwantcar(EnjoyStudying);
2006-5-12
(#2966514@0)
-
两年多前用PHP做的, 肯定跟你这个没法比了, 记得当时和PHP带的排序函数比, 效率差不多. 最近要升级了, 我也想把这块重写一下.
-yimingma(2006);
2006-5-13
(#2967575@0)
-
B tree 的数据结构调试完成,用了20多天.也是用了1K内存,没有用任何迭代函数.太辛苦了,有时候发狂,拼命刷网来减压. B TREE实现的FUCNTION,与DBASE有点象,当然,性能应该好很多吧.这个特殊的BTREE.专门为裸体计算机服务.而且有些特别的用处.
下一步,就是要把B TREE. 和 PAGE-SEGMENTATION合起来了.
从来没有想到DATA STRUCTURE这么挑战性.
已经连续多天2PM睡觉了.太累了!!!!!!!!!
-iwantcar(流浪的EnjoyStudying);
2006-6-2
{194}
(#3006510@0)
-
我有类似的情况, 不象你那么高深, 就是大数据量保存在XML文件中, 需要排序显示在WEB上, 我是先用快速排序法建立索引文件, 要排序显示时再通过索引文件来做, 不过数据量一大就感觉慢, 有什么更好的办法, 大家给出出主意.
-yimingma(2006);
2006-5-8
(#2956525@0)
-
要是我就直接用数据库。不必再去造轮子。
-canadiantire(轮胎(do ut des));
2006-5-8
(#2956555@0)
-
我现在穷怕了,等我做完这个项目,估计几个星期后,然后再去你那做个CONTRACT如何?我写的程序对操作系统基本没有要求,现在的环境根本只支持BLOCK READING AND WRITING.
-iwantcar(EnjoyStudying);
2006-5-8
(#2956672@0)
-
快速排序法基本上都不是特别适合在磁盘上使用.因为磁盘的读写都是以块为单位的.而且磁头的移动是顺序的,还要寻道.
-iwantcar(EnjoyStudying);
2006-5-8
(#2956681@0)
-
用SKIP LIST吧。其实你直接用BDB就行了,自己写FILE DATABASE真的没必要,以后出问题调死你,我的经验之谈
-henryxy(亨利之重出江湖);
2006-5-9
(#2957492@0)
-
你说得BDB是什么?Berkeley DB?
-canadiantire(轮胎(do ut des));
2006-5-9
(#2957626@0)
-
讨论技术问题不要乱谈经验.我查了你发过的贴,我不相信你写过真正文件型数据库.当然,你写字提醒,谢谢.
-iwantcar(流浪的EnjoyStudying);
2006-6-2
(#3006528@0)
-
C tree有源代码,可以参考。
-frankwoo(柳五随风);
2006-6-2
(#3007382@0)
-
我知道.
-iwantcar(流浪的EnjoyStudying);
2006-6-2
(#3007552@0)
-
我好像没有发过什么技术方面的帖子,再说你别以为自己很牛,比你再牛10倍的高手我都见过
-henryxy(亨利之重出江湖);
2006-6-2
(#3007470@0)
-
1.我没有说我牛.2.你究竟写过文件数据库了吗?3.我写这些东西,目的只是想改变一些中国程序员的想法.中国技术人员不敢在真正核心的地方向鬼老挑战.我也只是鼓吹一下而已.我只是请您别猜.
-iwantcar(流浪的EnjoyStudying);
2006-6-2
(#3007544@0)
-
我写过类似BDB中的MMAP类型的文件数据库。这种东西其实国内很多大公司都有类似的实现,不过都是商业秘密他们并没有公开源代码和设计。文件数据库难在B TREE变动时候重新BALANCE TREE;二是事务处理还有RECOVERY;三是CACHE到DISK FLUSH
-henryxy(亨利之重出江湖);
2006-6-3
(#3007834@0)
-
数据库中B+tree的难度在于并发处理
-eagle_no1(瞎起哄);
2006-6-2
(#3007498@0)
-
我这个是一种的B TREE的特例.有些地方要比B TREE强,有些功能比B TREE弱,而其算法,则肯定不最普通的B TREE复杂很多.
-iwantcar(流浪的EnjoyStudying);
2006-6-2
(#3007535@0)
-
支持不支持多线程?
-eagle_no1(瞎起哄);
2006-6-2
(#3007545@0)
-
B TREE本身没有什么多线程的概念,你要多线程,简单的做法,就是同步与互斥.当然,如果各种CONSTRAINT和OPTIMIZAITON考虑起来,就可以很复杂
-iwantcar(流浪的EnjoyStudying);
2006-6-2
(#3007601@0)
-
现在写的这个BTREE,由于没有使用迭代,就可以有效控制使用的RAM,其实,就算使用迭代,控制得好的话,也是可以的.但是我的系统运行在相当于CACHE里,只有5K.另外,该B TREE查询速度优化了.更新速度极其差.这是代价
-iwantcar(流浪的EnjoyStudying);
2006-6-2
(#3007612@0)