RDBMS提供更佳的交易完整性,但是相对于其他存储选项,该数据库难以暴露并具有高扩展成本。可用性低。为数据选择正确的存储工具。不要访问数据,因为您用于使用数据库,使用总数据存储数据。
关系数据库管理系统(RDBMS)(例如Oracle I和MySQL)是Edgar F.Codd基于1970篇论文“关系模型”中的关系模型“大型共享数据库的数据关系模型”)。大多数RDBMS都有两个存储数据的优点。个优点是使用酸属性来确保交易完整性。关于酸定义,见表2-1。第二个优点是表与间隔之间的关系。为了最小化数据冗余,提高交易的处理能力,大多数在线事务处理(OLTP)系统中的表格被标准化为第三范式中的所有记录, 有相同的领域,所有非主键字段都不能仅取决于组合关键字的一部分,所有非主关键字都必须依赖于主要关键字。
表中的每个列都依赖表中的其他列。表之间的关系通常在键之外指示。虽然使用RDBMS有两种优点,但是但他们也限制了可扩展性的原因。为了确保酸属性,扩展RDBMS远远超过其他数据。为了确保具有多个节点的RDBMS集群中的数据敏感(例如MySQL NDB),拿[外贸营销网站建设]同步复制的功能可以保证在提交期间将所有数据写入多个节点。使用Oracle RAC,将有一个中央数据库,但数据库域的所有权是共享所有节点。所以,对于写请求,要将数据所有权转移到相应的节点,对于读取请求,然后将其从请求者发送到请求者的主节点。发送从主节点发送到要读取的数据的另一个节点。将其从中发送到请求者。最后,您将受到数据的节点数量或其地理位置的约束。
内表的关系结构和RDBMS中间的间隔使得难以分离或分区数据库。分配对多台机器的原理。在应用程序中将表拆分给多个数据库,在单个数据中连接两个表的简单查询被转换为两个查询以连接到数据。
总而言之,只有数据需要交易完整性或数据间之间的关系。只需要使用RDBMS。数据之间的关系既不是关系,交易完整性的数据,更好使用其他存储系统。让我们简要讨论几种可用的解决方案。以及如何使用它们而不是数据库,实现更好, 忽略具有更高端网站设计定制高可扩展性的成本效益更高的效果是存储系统的文件系统。也许这是一个简单的存储方法。因为大多数程序员最初编程,访问是文件而不是数据库中的数据。一旦我们学会存储或获取数据库中的数据,没有使用文件。文件系统已开发了很长时间。而且, 许多文件系统专为非常大量的文件和数据而设计。
这些文件系统包括Google文件系统(GFS), omgilefs, 和ceph。如果您的系统是“写的,多个读取“然后文件系统是一个不错的选择。换句话说,如果您不读写冲突,无需维持大量的数据关系,真的不需要使用数据库事务,然后使用文件系统是更佳选择。另一个名为NoSQL的存储策略。这种类型的存储技术通常分为密钥到密钥存储, 可扩展的记录存储, 和文件存储。关于这个技术分类,没有统一的标准,许多技术可以分为多种类型。在介绍中,我们加入了一些技术的例子,但不要将它们视为最终的解释。考虑到这些项目的速度,然后,未来此类将更加模糊。
重点存储技术包括MEMCACHED, 东京暴君, 和伏地魔。这些产品中的数据具有存储在内存中的关键价值索引。有些产品能够复制健康的价值。通过简化的数据存储模型和键,这种类型的产品能够提供高写硬盘存储。一些产品将在节点中复制。以及一些可扩展性和性能,但是可以存储的数据有很多限制。此外,在同步复制键期间,数据存储的值仍然具有与RDBMS群集相同的限制,那是, 节点和地理位置数量。
可扩展的录制存储技术包括谷歌的专有大表和Facebook(现在我是开源)Cassandra。这些产品用于rantric数据模型,可以分割到节点。您可以根据主键拆分或更清晰的行。组列,存储在不同的节点上。此扩展方法类似于显示的AKF扩展立方体中的X轴和Y轴分离方法。X轴拆卸是读取数据的副本,Y轴由支持的服务除外。在这些产品中,该行自动执行,但是列分裂点需要用户定义,类似于RDBMS中的操作。这专业网站建设些产品使用异步复制,它最终可以实现一致性。这表示,也许很少几毫秒或几个小时后,所有节点上的数据将是一致的。
文档存储技术包括CouchDB, 亚马逊的Simpledb和Yahoo Pnuts。本技术中使用的数据模型称为“文档”。然而, 它实际上称为多索引对象模型更确切地说。这些多索引对象(或“文档”)可以收集多索引对象的集合(通常称为“城市”),然后合成这比该比率。文档存储技术不支持酸性,反过来,它们使用异步复制方法,它最终会使数据同意。
NoSQL解决方案至少限制了对象和实体之间的关系。这是因为它会降低关系。因此,您可以将系统分发到多个节点,同时保持业务诚信和解决阅读和写作冲突,实现了更大的可扩展性。
通常,我们都需要对系统进行可扩展性和灵活性。阅读前面的介绍后,也许你已经决定了。数据实体之间的关系是测量的关键。随着关系的增加,灵活性会增加。灵活性增加,会增加成本,可扩展性降低。这两个解决方案的RDBMS, NoSQL和文件系统与扩展系统和数据实体的成本(和限制)之间的关系进行比较。图4-2与允许使用的灵活性和系统进行比较。结果是显而易见的,关系带来了灵活性,但降低可扩展性。所以,我们不想滥用关系数据库,反而, 我们应该使用任何工具。使系统更具可扩展性。
在这个原则上,我们要介绍的另一个数据存储方法是MapReduce方法。简而言之, mapreduce方法有两个功能。那是, 地图和减少。地图函数的输入是一个值的键。生成中间按钮值对。输入密钥可以是文档名称或指向文档中某个段的指针。值可以是文档中的所有文本。地图功能的输出将进入缩小功能。此功能使用程序组成文本和文本段,并将值添加到列表中。这是一个复杂的程序,根据键排序和数据包。该技术的更大好处是将非常大的数据集的计算分发到许多服务器。
Apache的Hadoop是两个存储方法的组合的示例。它使用Google的MapReduce技术和Google文件系统,这两种方法在前面引入。 Hadoop都是具有高可扩展性的文件系统。也可以存储和获取分布的数据。
用于替换数据库的许多数据存储方法,那么决定了什么样的方法,你应该考虑哪些特点?像一个存储方法, 有很多选择,还需要考虑许多数据功能。最重要的是数据元素之间的相关程度,解决方案的开发速度和数据数据的比例(可能有数据更新)。最后,我们关心如何使数据出局(换句话说,无论是有利可图的),因为我们不希望您的系统成本超出您的福利。
成本和开发时间。E.G,假设涉及用户(如用户)的交易商店, 支付, 购买[营销网站设计]在一个关键存储中,然后反映采购报告中的信息片段,想象一下它有多困难。虽然您可以使用文件系统或NOSQL存储方法实现它,但是然而, 高度发达的是提供用户结果的结果。
预期增长率非常重要,有很多原因。最后,这种增长率会影响系统的成本和客户响应时间。如果数据实体需要高度的接触,然后我们可能需要使用所有硬件和处理能力来支持单个集成数据库。推广我们将数据库拆分为多个实例。
阅读和写作的比例非常重要,因为它有助于我们了解什么样的系统。只有用多个数据写入应用程序, 文件或对象缓存。图像是存储存储系统的典型示例。写作后更新了数据,或具有高写下的数据,更好使用NoSQL存储或RDBMS。需要考虑形成另一个立方体的这些因素,这三个因素在X轴上表示, Y轴和Z轴。随着这三个因素的价值增加,最终解决方案的成本也将增加。如果我们需要高度的协会, 高速增长可以解决读写冲突,然后更好使用几个较小的RDBMS系统。这可能相对较高, 系统维护甚至数据库许可。如果增长率较慢,小规模,但是有很多关系来解决读写冲突。然后,您可以使用单个大型数据库(具有高可用性的群集)。
如果数据之间的关系不是很多,因此,在任何读写冲突以及几乎任何水平的增长率,您可以使用NoSQL存储技术。这里,我们已经看到了成本和复杂性之间关系之间的关系。我们将在第8章中探讨这一主题。NoSQL技术的成本很低。最后,如果数据关系没有太多,不要关心阅读和写作冲突,然后使用较低的成本文件系统。
我们必须了解网站的货币价值来制作数据。因为许多公司在艰难的开始期间经历过,使用类存储来存储TB级用户数据,很快会消耗资金。优选的方法是分层数据,根据访问之日,不要停止在相对便宜访问的内存介质中接受较旧的数据。这被称为成本数据值[电子商务网站建设计划]困境时间,数据值将减少,但保存数据的成本将增加。
高端网站改版 网站建设网络推广 网页设计套餐
请立即点击咨询我们或拨打咨询热线: 13968746378,我们会详细为你一一解答你心中的疑难。项目经理在线