Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 无共享体系结构的数据库_Database_Architecture_Nosql - Fatal编程技术网

Database 无共享体系结构的数据库

Database 无共享体系结构的数据库,database,architecture,nosql,Database,Architecture,Nosql,由于有可能实现大规模的可扩展性,无共享体系结构似乎很流行。进程不共享任何内容。 任何非平凡的应用程序都会有一些状态。理想情况下,此状态不应出现在进程运行的硬件中。原因是,我们希望,如果硬件/进程崩溃,客户端应该能够在新进程甚至新硬件中重新运行它。 这个州到哪里去了?让我们试试某种数据库。。NoSql Redis、Mongo或RDBMS Oracle。。任何东西现在,在我看来,这不再是什么都不共享,因为数据库成了瓶颈。 现在给出一个小提示,即使是数据库也不能通过使用分片来共享!我的问题是。。如果有

由于有可能实现大规模的可扩展性,无共享体系结构似乎很流行。进程不共享任何内容。 任何非平凡的应用程序都会有一些状态。理想情况下,此状态不应出现在进程运行的硬件中。原因是,我们希望,如果硬件/进程崩溃,客户端应该能够在新进程甚至新硬件中重新运行它。 这个州到哪里去了?让我们试试某种数据库。。NoSql Redis、Mongo或RDBMS Oracle。。任何东西现在,在我看来,这不再是什么都不共享,因为数据库成了瓶颈。 现在给出一个小提示,即使是数据库也不能通过使用分片来共享!我的问题是。。如果有n个进程,是否会有n个数据库实例?我认为每个进程都应该在自己的硬件或虚拟机监控程序中运行。因此,对于n个进程和n个相应的数据库,应该需要2*n个硬件(不包括数据库中需要的复制)。毫无疑问,正如维基百科链接所说,数据库上的连接查询将非常昂贵。但扩展的可能性是无限的。 我的假设正确吗?如果,我需要将进程数从n增加到m,该怎么办。那么n数据库发生了什么呢。我应该增加到m个数并重新切分吗?
现在添加具有自动缩放功能的负载平衡器。这意味着这些过程可以放大和缩小。我们现在如何将无共享数据库与这些进程相匹配?谢谢。

对于完整的无共享设置和无限水平扩展,“n”数据库实例必须在“n”独立服务器上运行。我对如何使用Oracle进行切分有一些了解。让我试着回答你的几个问题w.r.t Oracle sharding。我建议大家通读下面提到的几个术语

  • 如果您需要增加数据库实例的数量(根据您的问题进行处理),那么只需生成所需数量的数据库实例并将其添加到分片环境中即可
  • 您将需要重新部署以重新分割数据库并重新分配负载
  • 重新硬盘时,目录数据库和分片控制器被编程为使用当前分片环境更新自身,并将添加有关新数据库的信息