五千年(敝帚自珍)

主题:【原创】浏览器是怎么变成操作系统的 -- 美人他爹

共:💬233 🌺560
全看分页树展 · 主题 跟帖
家园 不是这么说的

数据库设计的时候,有一个原则就是要理清数据库数据和应用程序数据的关系

数据库是用来做存储和关联处理的,而其他的东西,则应该给应用程序来处理,这个是一般设计上原则。但是话虽然是这么说,目前的数据库其实大部分都在往程序设计上靠拢,甚至有情况下,数据库在统计功能上要比应用程序更快。

你说的cache subsystem的情况,如果是高并发同时需要对并发的数据做实时的统计以及定期扫描的话,其实还是数据库要可靠的多,不然,大部分的数据按照应用程序的思路走的话,要占用多少内存哪,就算是自己转化成硬盘存储,除非自己能设计出存储体系,不然,只是按照应用程序开发语言本身的函数包的话---大部分的函数包似乎都是实现对操作系统的IO接口的调用---,性能要比数据库差的很多。比如CACHE下2万个应用的用户数据的情况,在内存里面保存的话,JAVA的程序估计消耗的内存在10M上下(考虑到统计以及应用的效率,这里用的是哈希的数据),而如果放到磁盘做文件缓存的话,在使用LINUX的情况下,如果使用同一文件夹,查询速度会有明显的下降,更不要说存在对该文件夹的添加以及删除操作了。

在这样的情况下,使用数据库的消耗就要少很多了。保证一个40万数据的快速查询以及相应的添加,并保留对时间上的监控,这几点要求MYSQL就能做的很好了,更不要说商业化的ORACLE,DB2,SQL了。

还是一句话,做什么样的事情要用什么样的工具,存在就是合理的。应用程序语言有应用程序语言的天地,数据库查询语言也有数据库查询语言的空间,这两个是有国境的。

虽然有的时候是模糊了一点。哈哈

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河