由持久化想到的

我们传统的方式是使用关系型的数据库,定义一个个的tables,然后定义表的结构。
然后设计我们的类。
然在我们的类和table之间建立映射关系,把数据库中的数据用select读进来,然后修改,然后再用update写回。
然后提供两个接口,insert和delete用于在数据库中插入和删除数据。

而我的想法是,关系型的数据库已经过时了。
我的想法是,以对象为中心。

将对象持久化为XML,然后把XML插入到数据库中例如berkely db XML.
然后用XQuery完成数据的查找、插入、删除。

区别在于,我们只需要去设计对象,而不必设计表。

而且实现也很容易
例如boost的serialization库可以很方便的把对象序列化为XML文件。
而且Berkely DB的速度远远高于Mysql。
不过难点在于,XQuery毕竟是新兴的技术。
berkely db XML缺乏图形化的管理软件。
而且XML查询的速度远低于传统的关系型数据库。

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥