问题标签 [storage-engines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
time-series - 将具有过去时间戳的数据插入时间序列数据库
让我们将 Influxdb 视为 TSDB 的示例。在大纲中看起来像 Influxdb 将数据存储在按时间排序的仅附加文件中。但它也声称可以插入带有随机时间戳的数据,而不仅仅是追加。对于物联网世界,偶尔会找到一些过去的数据(例如,一些设备离线一段时间然后再次上线)并将这些数据放入时间序列数据库以绘制一些图表是很常见的情况。influxdb 如何应对这样的场景?它会完全重写仅附加文件吗?
mysql - MyISAM 和 InnoDB 存储引擎之间的当前区别是什么,特别是在 MySQL 5.7 中?
我在 stackoverflow上看到了很多关于MyISAM vs InnoDB这个主题的问题和答案。
但是,所有的问题和答案都太老了,与当前稳定的MySQL 5.7.x版本无关
到那时,必须在MyISAM和InnoDB中都进行了如此多的开发。
所以,我需要那些目前在5.7.x版本中可用的差异
因此,请不要将我的问题标记为重复,请有人解释这些存储引擎当前的差异以及它们自过去以来的差异。
另外,请说明在什么情况下应该为表选择哪种存储引擎。
属于同一模式的不同表是否可以具有不同的存储引擎,即很少有表具有InnoDB而很少有表具有MyISAM。
如果是,那么JOIN查询将如何在MyISAM和InnoDB表之间执行?
MySQL是否真的要从未来的版本中删除MyISAM存储引擎?
mysql - 应用程序在生产中运行时更改 mysql 存储引擎的后果
我们有一个当前正在运行的应用程序,它在多线程环境中使用 Mysql。我们有大约 25 个表,其中 20 个表使用 InnoDb 作为存储引擎,而 5 个表使用 MyISAM 作为存储引擎。
我们打算将这 5 个表的存储引擎更改为 InnoDB。如果在运行应用程序期间更改它会导致一些问题
mysql - MariaDB MyRocks存储引擎中如何获取表的存储空间
我正在尝试获取使用 MyRocks 存储引擎的表在磁盘上占用的空间,但在我期望的结果、查询information_schema
和操作系统报告的大小之间得到了不一致的结果。
为了获得 MariaDB 报告的大小,我使用以下 select 语句:
对于我正在做的事情,它返回的数字非常小,以至于我怀疑它是否报告了实际大小(4 000 000 行包含大量文本的 0.4GB)。
如果我运行命令du -h /var/lib/mysql/#rocksdb/
,我将获得 2.4GB 的磁盘大小,这比我预期的要多一些。但是,如果我理解正确,MyRocks 会在插入数据时压缩数据,因此该du
命令报告的磁盘空间可能不代表实际的表大小。
那么,是否有可靠的方法来获取表格的大小?我是否已经使用正确的方法来获取表格大小?
mysql - 为什么 MyISAM 是默认的 MYSQL 引擎?
许多开发人员同意:“在大多数情况下,InoDB 比 MyISAM 更好(更快、更可靠)”。
那么,MYSQL 创建者将 MyISAM 设置为默认引擎的原因是什么?任何想法?
magento - 无法在 Windows 上安装 magento
我想在 localhost 上安装 magento(使用 xampp v3.2.2),但配置部分有问题。这部分有错误。错误是:数据库服务器不支持 InnoDB 存储引擎。我不知道如何解决它?
mongodb - 如何将 Mongodb 的默认存储引擎(wiredtiger)更改为我修改后的wiredtiger(git source build)?
我将修改wiredtiger代码来测试ycsb基准以提高性能。
通过这个 wiki 文档 ( https://github.com/wiredtiger/wiredtiger/wiki/Btree-vs-LSM ),我能够在 Leveldb 测试基本的wiredtiger 代码和修改后的代码。
下一步,我想使用YCSB对我编辑的wiredtiger 代码进行基准测试,但我找不到比较的方法。
因此,我将 mongodb 设置为使用 YCSB 基准测试,因为 mongodb 使用wiredtiger 作为存储引擎。
但是有一个问题我不知道如何将mongodb的wiredtiger存储引擎(默认)更改为我修改过的(git source build)。
我需要建议
mysql - 试图在 MySQL 中永久更改我的“默认存储引擎”
我正在使用 MySQL Workbench,我只是想知道如何将我的默认存储引擎永久更改为 InnoDB,因为默认存储引擎 MyISAM 不允许我的表中有外键。有谁知道如何避免经常这样做?笔记本电脑关闭或服务停止/重置后?
请帮忙!
我尝试在查询 1 中运行以下行:
但它不起作用。
我的默认时区也使用-3:00,但它只影响一段时间,在第二天打开我的笔记本电脑后,它又回到了一些奇怪的事情上。顺便说一句,我也尝试在工作台的选项文件中进行配置,但如果我做错了,我会发现。
mongodb - 通过部署更新而不是显式传递选项来修复 Mongo RetryableWrites?
什么是最好的解决方案This MongoDB deployment does not support retryable writes
?是否有我应该使用的版本/设置(例如,找到一种从 MMAPv1 切换到 WiredTiger 的方法),或者是否是retryWrites=false
对 heroku mlab 部署的真正最佳解决方案的显式设置更新?
背景:
在过去几周的某个时间点,我的 Heroku 提供的 mLab 插件(它已经平稳运行了大约一年)在任何写入尝试时开始抛出:
Exception: This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string.
我没有对部署或我的驱动程序进行任何更改,所以我认为这个新异常与 mlab 端的更新与我自己的设置不兼容有关。
关于诸如:如何在 Mongo 中修复 retryWrites 的讨论?我遇到了该问题的有效修复程序。修复要求将retryWrites=false
选项传递给 MongoClient,但在我看来,虽然我可以绕过错误,但我的 MongoDB 部署中不受支持的功能的问题并没有真正得到解决。
heroku - 如何修复 Multer-Gridfs-Storage 错误“创建存储引擎时出错。必须提供至少一个 url 或 db 选项”?
当我尝试将我的应用程序部署到 Heroku 时,我收到错误“创建存储引擎时出错。必须提供至少一个 url 或 db 选项。” 在我的heroku日志中。但是,在我的 IDE 中开发和测试应用程序时,我没有遇到任何错误。
这是我的错误日志:
这是我的 multer 代码:
我的process.env.URI
变量采用以下形式:URI=mongodb+srv://...
任何帮助是极大的赞赏 :)