繁体   English   中英

谷歌云盘可以与 SQLite 一起使用吗?

[英]Are Google Cloud Disks OK to use with SQLite?

Google Cloud 磁盘是类似于本地磁盘的网络磁盘。 SQLite 需要一个本地磁盘,以便锁定和事务正常工作。

A. SQLite 使用谷歌云盘安全吗?

B. 他们是否支持正确的锁定机制? 这是如何通过网络完成的?

C。 磁盘 IOP 和吞吐量与 SQLite 性能有何关系? 如果我有一个 1GB SQLite 文件,其中的查询需要 40 毫秒才能在本地完成,这将使用多少 IOP? 我应该选择哪种磁盘性能(标准、平衡、SSD)?

谢谢。

有关的

https://cloud.google.com/compute/docs/disks#pdspecs

永久磁盘是持久的网络存储设备,您的实例可以像物理磁盘一样访问它们

https://www.sqlite.org/draft/useovernet.html

SQLite 库未在跨网络场景中进行测试,这也不太可能。 因此,使用远程数据库需要用户承担风险。

是的,您引用的文章基本上规定,由于读取和写入是“简化的”,因此在操作系统级别,它们可能是不可预测的,导致在本地网络远程时出现“翻译丢失”问题。

他们还指出,它在测试和生产中可能工作得很好,但有一些已知的副作用很难检测和缓解——所以这是一场轻微的赌博。

同样,他们描述的实现不是谷歌云盘,而是简单地描述为远程网络安排。

我的观点更多的是,谷歌云盘可能更“虚拟”,而不是纯粹的网络附加存储......在我看来,这将是从那里查看和评估它的地方。


查看此线程以获得对问题的更多了解, https://serverfault.com/questions/823532/sqlite-on-google-cloud-persistent-disk

此外,我环顾四周,发现了这个帖子,其中一位海报建议使用 SQLite 作为只读资产,然后在更受控的过程中部署更新。 https://news.ycombinator.com/item?id=26441125

持久磁盘就像虚拟机中的普通磁盘一样。 并且一次只能访问一个虚拟机。

因此使用安全,不会丢失任何数据。


对于表演部分。 你只需要测试它。 为您的特定工作量。 如果您有足够的备用内存,并且您的数据库读取繁重,并且很少写入。 整个数据库将被 os (linux) 磁盘缓存缓存。 所以它会很快发疯。 即使在硬盘存储上。

但是如果您的备用内存不足。 比数据库不会在操作系统缓存中。 并且写入始终同步到磁盘。 这会导致大量的 I/O 操作。 在这种情况下,请使用您可以/愿意负担的最高性能磁盘。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM