当前位置:  开发笔记 > 编程语言 > 正文

什么是非关系数据库的示例?他们在哪里/如何使用?

如何解决《什么是非关系数据库的示例?他们在哪里/如何使用?》经验,为你挑选了8个好方法。

我一直在使用关系数据库,但最近才发现必须有其他类型的关系型数据库.

什么是非关系数据库的例子,以及它们在现实世界中的使用位置和方式?为什么要选择在关系数据库上使用非关系数据库?

编辑:答案中提到了另外两个类似的问题:

不是关系的数据库系统.

不使用关系数据库的好理由?

Jeff Jones.. 14

这里提到的数据库类型的一个公认的模糊但有趣的替代方案是来自LazySoft Technology的关联数据库,例如Sentences .有一个免费的个人版本,您可以下载并自己尝试.企业版也是免费的,但需要向公司提出请求.

从本质上讲,关联数据库允许您以与我们大脑相同的方式存储信息:作为这些事物之间的事物和关联.名称"Sentences"来自于此信息可以用subject-verb-object语法表示的方式:

汤姆劳拉的兄弟

旧金山位于加利福尼亚州

迈克的信用额度为10,000美元

句子可能是另一句话的主语或宾语:

(公交车570 到达上午8:15)周日

玛丽(馅饼是由威廉烤制的)

所以,一切都可以归结为实体协会.

当然,句子比这里表达的要多得多.我建议您花一些时间在LazySoft 的白皮书中阅读更多相关信息.

"数据联想模型"是由Sentences的创造者之一Simon Williams以PDF格式提供的一本书.



1> Jeff Jones..:

这里提到的数据库类型的一个公认的模糊但有趣的替代方案是来自LazySoft Technology的关联数据库,例如Sentences .有一个免费的个人版本,您可以下载并自己尝试.企业版也是免费的,但需要向公司提出请求.

从本质上讲,关联数据库允许您以与我们大脑相同的方式存储信息:作为这些事物之间的事物和关联.名称"Sentences"来自于此信息可以用subject-verb-object语法表示的方式:

汤姆劳拉的兄弟

旧金山位于加利福尼亚州

迈克的信用额度为10,000美元

句子可能是另一句话的主语或宾语:

(公交车570 到达上午8:15)周日

玛丽(馅饼是由威廉烤制的)

所以,一切都可以归结为实体协会.

当然,句子比这里表达的要多得多.我建议您花一些时间在LazySoft 的白皮书中阅读更多相关信息.

"数据联想模型"是由Sentences的创造者之一Simon Williams以PDF格式提供的一本书.



2> Michael Burr..:

平面文件

CSV或其他分隔数据

电子表格

/ etc/passwd文件

mbox邮件文件

分级

Windows注册表

Subversion使用文件系统FSFS代替Berkley DB


文件是数据库,文件系统是DBMS.
我不会将平面文件称为DB.DB应该是DBMS,重点是管理系统.DBMS应该为您提供数据接口,它管理它存储的东西.
这些真的是数据库吗?
我认为可能存在比任何其他类型更多的平面文件数据库.仅仅因为它们很简单并不意味着它们不是数据库.

3> TomC..:

我们一直关注的非关系文档数据库是Apache CouchDB.

Apache CouchDB是一个分布式,容错且无架构的面向文档的数据库,可通过RESTful HTTP/JSON API访问.除了其他功能之外,它还提供了具有双向冲突检测和解析功能的强大的增量复制,并且可以使用面向表的视图引擎进行查询和索引,其中JavaScript充当默认视图定义语言.

我们感兴趣的是提供一个分布式访问用户首选项存储,它可以免受形状变化的影响,我们可以从Java序列化首选项对象,并使用基于XULRunner的客户端应用程序中的Javascript轻松访问这些变体.



4> FlySwat..:

声称是"Berkley样式数据库"或"键/值"数据库的任何数据库都不是关系数据库.

这些数据库通常基于复杂的散列算法,并且基于密钥提供非常快速的查找O(1),但是为最终用户留下任何形式的关系良好.

例如,在关系数据库中,您将规范化结构并将多个表连接在一起以创建单个结果集.

在键/值数据库中,您将尽可能地进行非规范化,然后使用唯一键来查找数据.

如果需要从两个源中提取数据,则必须手动将结果集合在一起.



5> Cruachan..:

所有数据库最初都是非关系型的,只是随着DB2和Oracle在1980年代中期的到来,它们才变得普遍.在那之前,大多数数据库都是平面文件或分层.

平面文件本身就很无聊,但是分层数据库要少得多,特别是因为DB2实际上是在第一个实例的层次化实现(即VSAM)之上实现的.我相信VSAM仍然在大型机系统上,并且具有相当重要的意义.

DB/1(如此模糊,现在我甚至找不到维基百科链接)是IBM的前任黄金时段数据库(因此得名).这是分层的 - 基本上你有一个由任意数字或"根"记录组成的文件,通常可以通过密钥直接访问.然后,每个根记录可以包含任意数量的子记录,每个记录都可以拥有自己的子记录.净效应是索引文件或根记录,每个根是潜在的树状结构的顶部.访问子记录可能很棘手 - 直接访问存在局限性,因此通常最终遍历树寻找所需的记录."数据库"中可以包含任意数量的这些文件,通常与密钥相关.

这有很大的缺点 - 尤其是实际做任何需要编写完整程序的东西 - 基本上相当于我们现在可以在几分钟内完成SQL的工作.然而,它确实在执行速度方面得分,当时大型机具有iPhone的处理能力(虽然针对数据I/O进行了优化),而糟糕的DB2查询可能会导致耗资数百万美元的安装死机.对于DB/1而言,这绝不是一个问题,而且在程序员比CPU时间更便宜的世界里,它是有意义的.



6> Guido..:

Google App Engine数据存储区:

App Engine数据存储区不是关系数据库.虽然数据存储区接口具有许多与传统数据库相同的功能,但数据存储区的独特特征意味着采用不同的方式设计和管理数据,以利用自动扩展的能力.



7> Lance Robert..:

OSIsoft的PI历史数据库是非关系型的.它仅用于存档带时间戳的数据.它被业界广泛使用,特别是作为所有这些"仪表板"的后端数据库.

因为没有连接,所以不需要关系.



8> Jean Barmash..:

其他两种尚未出现的数据库:

    内容存储库是为内容(即文件,文档,图像等)设计的数据库.它们通常具有附加构造,例如分层浏览内容,搜索,不同格式之间的转换,版本控制以及许多其他内容.示例 - Alfresco,Documentum,JackRabbit,Day,OpenText,许多其他ECM供应商.

    目录,即Active Directory或LDAP目录.这些数据库是为低写/高读取场景而设计的,并且在高地理距离/高延迟连接中高度分布.虽然主要用于身份验证/授权,但如果您的用例符合要求,则不必如此.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有