是否有任何数据库服务器可以支持以下操作?
Is there any DB server which could support following operations?
我需要将字符串列表与 Id 一起存储为字段:listId, <list>
。
现在我需要按 O(1) 时间顺序执行以下操作:-
- 从现有的 listId 中删除给定的字符串。
- 正在现有 listId 中添加 新字符串。
有没有可以支持以上操作的数据库?将 HashSet 作为其数据类型之一会有所帮助。请注意,我需要一个高度可扩展的解决方案,其中列表可以在 1000 多个 listId 中包含 1000 万个键。
我知道这种数据类型如果存在于任何数据库中都会产生相当大的索引开销。我相信类似的东西存在的机会真的很小。如果没有,那么我会自己实现一些东西。
您描述的内容听起来像是 normalization 的教科书案例。
您将有两个 table:一个包含列表,另一个包含列表元素。
它们通过列表 ID 链接:
列表 table:
id name (+ whatever else you need)
列表元素table:
id listId (connected to an id in the lists table) (+ whatever else you need)
我需要将字符串列表与 Id 一起存储为字段:listId, <list>
。
现在我需要按 O(1) 时间顺序执行以下操作:-
- 从现有的 listId 中删除给定的字符串。
- 正在现有 listId 中添加 新字符串。
有没有可以支持以上操作的数据库?将 HashSet 作为其数据类型之一会有所帮助。请注意,我需要一个高度可扩展的解决方案,其中列表可以在 1000 多个 listId 中包含 1000 万个键。
我知道这种数据类型如果存在于任何数据库中都会产生相当大的索引开销。我相信类似的东西存在的机会真的很小。如果没有,那么我会自己实现一些东西。
您描述的内容听起来像是 normalization 的教科书案例。
您将有两个 table:一个包含列表,另一个包含列表元素。
它们通过列表 ID 链接:
列表 table:
id name (+ whatever else you need)
列表元素table:
id listId (connected to an id in the lists table) (+ whatever else you need)