我有一个Java程序和PHP网站,我计划在我的亚马逊EC2实例上运行一个EBS卷。该程序对数据库进行读写操作。该网站仅从同一数据库读取数据。
在AWS上,您需要为卷的IOPS (每秒I/O请求数)付费。哪个数据库的IOPS最低?另外,SQLite可以同时处理来自程序和网站的查询吗?
发布于 2011-11-12 12:22:52
IO的数量在很大程度上取决于您如何配置MySQL以及您的应用程序如何使用数据库。缓存、日志文件大小、数据库引擎、事务等都会影响IO的大小。换句话说,可能不可能提前预测,尽管我猜测SQLite会有更多的磁盘IO,因为数据库文件必须一直打开和关闭,而MySQL读写(特别是)可以由MySQL本身缓存在内存中。
这个网站,Estimating I/O requests,有一个很好的方法来计算你的实际IO,并使用它来估计你的EBS成本。您可以在模拟负载下的测试系统上运行应用程序,并使用此技术来测量MySQL解决方案和SQLite解决方案之间的IO差异。
在实践中,这可能并不重要。每百万次IO请求的成本为0.10美元。在一个有大量数据库访问的中等流量电子商务网站上,我们每月处理大约3.15亿次IO请求,即31美元。与数以千计的EC2、存储和带宽成本相比,这是微不足道的。您可以使用AWS cost calculator插入预估并计算所有亚马逊网络服务成本。
您还应该记住,SQLite人员只使用recommend that you use it for low to medium traffic websites。对于高流量站点,MySQL是更好的解决方案。
发布于 2013-03-04 02:10:05
是的,SQLite可以同时处理来自程序和网站的查询。SQLite使用文件级锁定来确保一致性。
在内存中,SQLite适用于独立或嵌入式程序。
不要只在内存中使用SQLite:
。
https://stackoverflow.com/questions/8063221
复制相似问题