Erlang mnesia表的一列可以存储多少数据

Erlang mnesia表的一列可以存储多少数据,erlang,ejabberd,mnesia,Erlang,Ejabberd,Mnesia,mnesia的一列可以存储多少数据。是否有任何限制,或者我们可以存储我们想要的任何数据。任何指针?(如果表仅为光盘副本)mnesia作为内存数据库启动。这意味着它不是为存储大量数据而设计的。当你问自己这个问题时,这意味着你应该看看另一个ejabberd后端。Mnesia从内存数据库开始。这意味着它不是为存储大量数据而设计的。当你问自己这个问题时,这意味着你应该看看另一个ejabberd后端。与任何潜在的大数据集一样(就总条目而言,而不是总字节量而言),真正的问题不是你能在一个表中填充多少,但是,

mnesia的一列可以存储多少数据。是否有任何限制,或者我们可以存储我们想要的任何数据。任何指针?(如果表仅为光盘副本)

mnesia作为内存数据库启动。这意味着它不是为存储大量数据而设计的。当你问自己这个问题时,这意味着你应该看看另一个ejabberd后端。

Mnesia从内存数据库开始。这意味着它不是为存储大量数据而设计的。当你问自己这个问题时,这意味着你应该看看另一个ejabberd后端。

与任何潜在的大数据集一样(就总条目而言,而不是总字节量而言),真正的问题不是你能在一个表中填充多少,但是,您希望如何对数据进行分区,以及这些分区在系统中的统一程度或不同程度

例如,在聊天系统的上下文中,您可能希望能够永久保存聊天历史记录,这是一个合理的目标。但你可能不希望所有聊天记录永远都在同一张表中(10年?多长时间?谁知道!)就在昨天的聊天记录旁边。随着时间的推移,您可能还会发现,将每条聊天信息存储在一个表中是一个痛苦而天真的决定,以后需要克服

这就引出了分区的问题。你想怎么做?(停留在聊天系统的上下文中,但很容易转移到另一个问题…)按时间?通过频道?按用户?按时间和频道

您希望以后如何定位数据?这带来了与上述相同的显而易见的答案:按时间?通过频道?按用户?按时间和频道

当您考虑存储大量条目时,无论您是在处理Mnesia还是Postgres(或任何数据库),都存在这个问题。因此,在您希望如何划分数据的上下文中考虑您的问题

第二个问题是以字节为单位的数据量,以及该数据最自然的表示形式。考虑到基本的聊天数据,简单地将所有内容都插入数据库并不难想象。但是如果它是一个聊天系统,可以在一条消息中附加大文件,我可能希望将这些文件以它们是什么(文件)的形式存储在一个专门为它设计的系统中(比如文件系统!),并在数据库中只存储对它的引用。如果我正在创建一个电影档案,我肯定会很乐意使用Mnesia来存储电影的标题、演员、年份和指针(URL或文件系统路径),但即使我使用Postgres,我也不会梦想在数据库中存储电影文件数据(这实际上可以抵御这种滥用……但想想新的尴尬局面:数据库转储、备份和巨大的瓶颈,每个人的下载/上传速度都与数据库后端的核心服务带宽无关!)

除了这些问题之外,您还需要考虑数据后端将如何与系统的其余部分进行交互。您希望使用的API是什么?现在就编写并仔细思考,看看它是否愚蠢。一旦它看起来完美,就批判性地回顾一遍,扔掉任何您不需要立即实际使用的元素,对吗w

因此,这给了我们:

  • 分区方案
  • 未来查询的上下文
  • 以字节为单位的数据量
  • 要存储的不同数据元素的自然状态
  • 与您希望使用的整个系统的接口
当你开始想知道你能把多少数据放入数据库时,这些是你必须开始问自己的问题


既然所有这些都已经写好了,这里有一个问题从条目、字节以及不同类型的条目可能代表多少字节来讨论记忆能力:

与任何潜在的大数据集一样(就总条目而言,而不是总字节量而言)真正的问题不是你能在一个表中塞进多少数据,而是你想如何对数据进行分区,以及这些分区在系统中的统一程度或不同程度

例如,在聊天系统的上下文中,您可能希望能够永远保存聊天历史记录,这是一个合理的目标。但您可能不希望所有聊天记录永远都在同一个表中(10年?多长时间?谁知道!)就在昨天聊天记录的旁边。随着时间的推移,你可能还会发现,将每条聊天信息存储在一个表中是一个痛苦而天真的决定,以后要克服它

所以这就引出了分区的问题。你想怎么做?(停留在聊天系统的上下文中,但很容易转移到另一个问题…)按时间?按频道?按用户?按时间和频道

您希望以后如何定位数据?这会给出与上面相同的明显答案:按时间?按频道?按用户?按时间和频道

当您考虑存储大量条目时,无论您是在处理Mnesia还是Postgres(或任何数据库),都存在这个问题。因此,请在您希望如何划分数据的上下文中考虑您的问题

第二个问题是以字节为单位的数据量,以及数据的最自然的表示形式。考虑到基本的聊天数据,简单地将所有内容都插入数据库并不难想象。但是,如果聊天系统可以在消息中附加大文件,我可能希望将这些文件按它们的格式存储是(文件)在一个专门为它设计的系统中的某个地方(比如文件系统!),并且只在数据库中存储对它的引用。如果我正在创建一个电影档案,我肯定会觉得使用Mnesia存储标题、演员、年份和指针(URL或文件系统路径)很舒服但我不会梦想在我的数据库中存储电影文件数据,即使我使用的是Postgres(它可以