Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
MongoDB能否将经常出现的单词(如“shopping”)压缩或标记为s1以节省空间?_Mongodb_Nosql - Fatal编程技术网

MongoDB能否将经常出现的单词(如“shopping”)压缩或标记为s1以节省空间?

MongoDB能否将经常出现的单词(如“shopping”)压缩或标记为s1以节省空间?,mongodb,nosql,Mongodb,Nosql,比如说,该应用程序是否像Digg,用户在其中发布web链接并添加标签。然后,在键/值对的值部分会重复出现许多表示“购物”的标签 MongoDB是否会自动或配置为将该单词记住为“s1”,以减少数据库的大小?如果它是重复很多次的关键部分(如果每个“文档”具有相同的属性名,则几乎总是重复。)不,它不会这样做,但您可以自己轻松地这样做 不想在服务器上这样做的一个原因是(根据邮件列表),这使得切分更加困难 这样做的一个原因(或其他技术,如)是,节省的空间还可以减少缓存对象和索引的内存使用量,这意味着您可以

比如说,该应用程序是否像Digg,用户在其中发布web链接并添加标签。然后,在键/值对的值部分会重复出现许多表示“购物”的标签


MongoDB是否会自动或配置为将该单词记住为“s1”,以减少数据库的大小?如果它是重复很多次的关键部分(如果每个“文档”具有相同的属性名,则几乎总是重复。)

不,它不会这样做,但您可以自己轻松地这样做

不想在服务器上这样做的一个原因是(根据邮件列表),这使得切分更加困难


这样做的一个原因(或其他技术,如)是,节省的空间还可以减少缓存对象和索引的内存使用量,这意味着您可以在相同数量的RAM中获得更好的缓存命中率。

这是否意味着如果有一个表有100万条记录,每条记录都有一个字段名“PhoneNumber”,那么这11个字节将重复一百万次?现在,如果每个硬盘驱动器内部都有自己的压缩,并且外部世界看不到,那么可以使用“p1”来表示“PhoneNumber”来压缩这个单词。那么MongoDB下面是否也可以有这样的层呢?是的,11个字节将重复100万次。如果您认为这是一个问题,您可以自己缩短密钥。有些人已经尝试过了,并实现了大约15%的空间缩减(他们认为这不值得),但当然,这将因数据而异。目前MongoDB没有压缩层,一些形式的压缩已经计划好了,但还没有计划好(根据我链接的JIRA页面)。请记住,11个字节重复100万次等于11MB,这并不是一个巨大的数据量(对于大多数应用程序而言)。