我正在寻找方法来实现免费模式的数据存储设计。但是,通常在NoSQL学校中使用无模式这个术语。我对NoSQL的可伸缩性优势不感兴趣。一个例子是朋友式的方式(如Bret Taylor的博客中所解释的)。你能否指点我一些其他资源或设计实例/案例研究,其主要目标是要有一个灵活/无模式设计(我甚至可以牺牲性能)?模式免费数据存储设计
回答
我不是100%地肯定你的使用情况,您能分享一下你正在尝试做一些更多的信息? 当你说你没兴趣“的NoSQL”这是否意味着你必须实现一个关系型数据库之上的一切吗? (哪一个?)
有一对夫妇的做法,把关系模式更加灵活:
EAV /实体 - 属性 - 值设计,其中所有“实体”一个表中存储公用信息/系统中的对象,一个表包含这些实体可以具有的属性的信息以及一个存储(entity_id,attribute_id,value)的表。例如,请参见http://en.wikipedia.org/wiki/Entity-attribute-value_model。
“皮包骨格的表”,其中你有宽列表,每列类型有一列(一个varchar列,一个blob列,一个int列等),然后只填写匹配所需值类型的列储藏。当你只想存储不同类型的值而不是随时更改属性时,这是有意义的。可用于将属性存储在EAV模式中。
储存“三合一”的数据:语义网的人已经花了相当多的时间研究如何最好的商店RDF数据,包括主题关系客体的三元组。有“真正的”RDF商店有自己的查询语言,但其中一些可以使用关系数据库作为存储后端。如果这听起来像是要走的路,请看这里:http://www.w3.org/2003/01/21-RDF-RDB-access/ - 一个简单的谷歌查询“在关系数据库中存储rdf”应该指向几个Triplestore的实现,可以有效地映射到关系数据库中。
希望这有助于!
感谢您的回答。我知道我说的有点模糊,从概念上讲,我想存储的只是数据,我没有性能限制。那么我有什么选择让数据保持一种比传统方法更灵活的方式来修改,这是我的问题。我正在检查你提到的方法。 – mete 2011-03-04 11:41:08
你可能想看看Berkeley DB。它提供了一个无模式简单的键值API(ala NoSQL),并且是一个直接链接到您的应用程序的库。 Berkeley DB的好处在于你可以拥有你的蛋糕并且也可以吃它。它提供了开发人员正在寻找的简单,灵活,可嵌入的数据存储,但它非常快速,可扩展且可靠。除了基本密钥/值对API之外,Berkeley DB还提供了两个其他对开发友好的API:Java Collections API和Direct Persistence Layer API(类似于POJO的持久性API)。
大多数BDB应用程序开发人员使用最适合于应用程序代表数据的API。 C和C++结构通常存储为简单且不透明的键/值对,其中Java集合显然与该API匹配良好,并且Java类与DPL API匹配良好。
祝您的搜索。
- 1. 免费存储
- 2. 免费存储用户数据
- 3. Azure免费存储
- 4. 免费存储android
- 5. NetBeans免费设计
- 6. 用于Visual Paradigm的免费设计模式模板?
- 7. 计费数据库 - 存储交易
- 8. PCI合规性 - 存储计费数据
- 9. 计费系统的设计数据库模式
- 10. XML数据存储数据库?免费和开源
- 11. 免费存储与C++
- 12. 免费的CVS存储库?
- 13. 免费在线存储来存储应用程序设置
- 14. 与存储库设计模式交易
- 15. 存储库设计模式与Dapper
- 16. MVC存储库模式设计决策
- 17. 存储库设计模式指导
- 18. 网络存储设计模式
- 19. 免费结果设置数据mysqli_result ::免费
- 20. 设计数据库模式
- 21. silverlight 3:Silverlight的任何免费数据库(存储在独立存储中)?
- 22. CloudKit:免费公共存储和数据传输
- 23. 试用/免费云服务来存储关系数据库
- 24. 任何免费的SDK来存储和返回数据?
- 25. XML参考测试数据的免费公共存储库
- 26. Amazon RDS数据库免费层存储限制
- 27. 在数据库中存储类名以模仿设计模式 - Ruby on Rails
- 28. 数据/数据库设计模式?
- 29. 无模式数据存储与模式数据存储的优势
- 30. 免费数据时内存泄漏?
你能提供一个链接到博客文章? – 2011-03-01 20:55:44
它在这里。 http://bret.appspot.com/entry/how-friendfeed-uses-mysql – mete 2011-03-02 07:01:25