NoSQL数据库具有类似插入选择的支持

时间:2019-06-18 04:53:01

标签: database nosql

我需要保持时间表。每个时间表都有开始和结束时间,并且不能与同一事物的另一个时间表重叠。会有很多事情,时间表大致相同。很容易会有几十个(如果不是数百倍的话)然后是写入的话,所以我可以写一个母版并从副本中读取。因此,我需要一个数据库,该数据库在插入其他现有记录时支持原子验证,并具有简单的复制功能。基本上我想实现

insert into events
select 'my-event', 15, 18
where (select id from events where end < 15 limit 1) = (select id 
from events where start < 18 limit 1);

其中my-event是id,NoSQL DB中的15是时代开始时间,而18是时代结束时间。

我今天花了很多时间来搜索不同的数据库,到目前为止,我可以看到Mongo支持验证,但是它似乎或多或少地替代了模式,Couchbase似乎具有非常类似于SQL的查询语言,但是从文档尚不清楚是否只是表面的。这样的数据库是否存在?

1 个答案:

答案 0 :(得分:0)

我的感觉是您正在尝试将应用程序逻辑推送到数据库。我从未听说过任何内部进行过此验证的数据库(也许是关系数据库中的触发器?)

Couchbase确实非常擅长快速/大规模读写,并且查询语言非常适合查询JSON。但是,您的应用程序将需要验证是否存在冲突。