English 中文(简体)
有单一数据库的多个节点
原标题:Multiple node instances with a single database

目前,我正在撰写一个新月报,在扩大规模方面向前看。 据我所知,横向扩大是扩大申请规模以处理更多并行请求的较容易的方法之一。 我的工作文本目前使用MongoDb。

因此,我的问题是: 我有一个数据结构,类似于需要严格维持秩序的相关清单。 我(富有想象力)关切的是,当数据库有多种节点时的种族条件时,有关名单的解决可能不正确。

例如: a. 挑选该名单的服务器;b 第1号案件有物体,第2号案件有物体。 有可能出现一种种族条件,即这两种情况都读到“......”b ,并决定将其物体附在名单上。 那么,第1号案例将设想,它会插入一个->,b->c 而第2号案例则认为它具有一个->b->c->d。

总的来说,正如我所理解的那样,这种声音像一种乐观的锁定工作一样,无论是MongoDB还是Redis(我所考虑的其他数据库)都没有以Kall方式进行交易。

因此,我认为解决办法如下:

  1. 利用旗帜在MongoDB进行我自己的交易。 客户在24个变数中找到了变形,如果成功,则进行业务。 如果失败,客户会经过一段时间后重新尝试。

  2. 利用红利交易和共和国分公司取得相同效果。 我并不确切地确定如何做到这一点,但这样,可能是合理的。

  3. 实行某种智能负荷平衡。 如果多个客户在同一项目下运作,他们就前往同一地点。 由于联合材料一面,这个问题就会得到解决。 不幸的是,我没有找到直接的解决办法。

我确信,实现上述目标有更好、更明智的途径,我很想听取任何解决办法或建议。 谢谢!

最佳回答

如果我正确理解,而且名单正作为单一文件储存,你可能会研究浏览版本。 因此,在你更新后,在文件上添加一个处理版本的财产,增加(或改变)版本,并作有条件更新:

页: 1

update({version: whateverYouReceivedWhenYouDidFind}, newValue)

Hope it helps. Gus

问题回答

你们想要在蒙戈德布找到可以保证原谅的改变,同时恢复新修改的教义。 由于这些改动是序列和原例1,将具有“和”;b->c和例2将具有“和”;b->c->d

Cheers

如果你们都在为名单增添新的内容,你可以使用红星清单,并列入你所增加的每个数值。 清单可能重新印发,但在检索时应当迅速分类。





相关问题
WCF Transaction Flow Question

I would like to configure WCF service operations to accept a transaction if my client sends one, but not to create one if none is sent. I think this would be similar to the Supported transaction ...

question about pl/sql exception

the following text is an excerpt of oracle documentation Oracle® Database PL/SQL Language Reference 11g Release 1 (11.1) : Unhandled exceptions can also affect subprograms. If you exit a ...

SQL Server - transactions roll back on error?

We have client app that is running some SQL on a SQL Server 2005 such as the following: BEGIN TRAN; INSERT INTO myTable (myColumns ...) VALUES (myValues ...); INSERT INTO myTable (myColumns ...) ...

Cannot rollback transaction with Entity Framework

I have to do queries on uncommitted changes and I tried to use transactions, but I found that it do not work if there are exceptions. I made a simple example to reproduce the problem. I have a ...

mySQL - Prevent double booking

I am trying to work out the best way to stop double booking in my application. I have a table of unique id s each can be sold only once. My current idea is to use a transaction to check if the ...

热门标签