MySQL的替代品

Dav*_*ews 7 database memcached caching scalability

我想为我的应用程序持久存储数据,但我真的不需要一个完整的关系数据库.我真的可以使用一个基本的"缓存"式持久存储,其中结构只是一个(键,值)对.

代替数据库什么是我最好的,可扩展的选项?

Kyl*_*nin 12

总是有SQLite,一个存储在文件中的数据库.SQLite已经具有内置并发性,因此您不必担心文件锁定等问题,并且读取速度非常快.

但是,如果您正在进行大量数据库更改,则最好在事务中一次完成所有这些更改.这只会将更改写入文件一次,而不是每次发出更改查询.这大大提高了进行多项更改的速度.

当发出更改查询时,无论它是否在一个tranasction内,整个数据库都会被锁定,直到该查询完成.这意味着极大的事务可能会对其他进程的性能产生负面影响,因为它们必须等待事务完成才能访问数据库.在实践中,我没有发现这是显而易见的,但尝试最小化您发出的数据库修改查询的数量总是好的做法.


Jav*_*ier 6

如果你想要一个'持久缓存',并且已经使用了memcached,请检查memcachedb.它是使用memcached协议的持久散列表,不需要新的客户端(但是新的守护进程)


Gal*_*ian 1

如果您想要真正可扩展的东西,我不会选择平面文件或 XML 文件。随着数据的增长,它可能会降低你的性能。

如果您在某个阶段拥有大量数据,我仍然会选择数据库 - 我会看一下SQLIte之类的东西,它具有非常简单的模式来满足您的需求。