存储每隔几小时更新的小型交替公共数据的最佳方法是什么?

时间:2011-09-06 17:01:11

标签: java sql database

我的问题的实质是有太多的解决方案,我想在我围绕它建立基础设施之前找到哪一个在利弊中胜出。

(为本论坛的目的而简化)这是一个拍卖网站,其中五个拍卖被存储在排名#1-5中,#1是当前特色的拍卖。其他四个只是“在甲板上”。在几个小时或完成拍卖之后,#2-5升至#1-4,新的一个被选为#5

我正在使用专用服务器,我一直在考虑将数据存储在servlet中,或者可能在数据库中添加一个列作为每次拍卖的布尔值...就像“isFeatured = 1”

我只想说数据的读取次数比写入时多5倍+,这就是为什么我倾向于使用旧的SQL。

3 个答案:

答案 0 :(得分:1)

如果您可以使用ORDER BYTOP或类似内容的简单查询从数据库中检索相关的竞价,请尝试此操作。如果没有出现性能问题,那么KISS就完成了。

否则,当这5次拍卖有效一段时间后,将其缓存在内存中。有一个单身人士持有这些拍卖,并提供更新的方法,例如。也许您想要使用缓存lib。必要时更新这些Top5,但直接在内存中提供它们而不会引起数据库或类似的昂贵。

答案 1 :(得分:0)

您在寻找什么样的规模?有多少应用程序服务器需要访问数据?

我认为你可能会让它变得更复杂。只需使用数据库,点击ACID,然后转到您需要处理的任何其他内容。 :P

答案 2 :(得分:0)

你看过SQLite了吗?它允许“良好的旧SQL”,而无需设置单独的数据库服务器的所有麻烦。只要数据不是太大(公平地说,我没有测试大小限制,但是我已经浏览过博客文章,提到使用SQLite来快速处理几十MB大小的文件而没有问题),你应该没事。

它并不是满足所有需求的完美解决方案(坦率地说,我有时会发现dynamic typing很痛苦),但由于它依赖于本地存储的文件,因此读取将比启动网络快得多与更“传统”的RDBMS交谈。