pytables vs h5py

2013-12-26 23:30:49 +08:00
 nooper
这两个库有种淡淡的忧伤。
pytables 说并不支持并发机制,但是结构的话的定义是非常的出色。
不知道两个文件做同步会怎么样。
h5py说并不支持时间定义,但是支持MPI并行机制,但是结构化的定义需要各自繁琐的封装。
我多么希望采用高速并发的支持大数据读取的数据库哇。
mongodb和hadoop,,,,,为什么。。。。
有种小忧伤。
需要底层封装并发读取,同步,锁互斥操作。
加上这些导致这玩意并不快,还会造成数据误读取。
hoho
3383 次点击
所在节点    程序员
2 条回复
mckelvin
2013-12-28 00:46:29 +08:00
难得看到有帖子在讨论hdf5~
之前https://github.com/tb2332/MSongsDB/blob/master/PythonSrc/hdf5_utils.py 这个项目中第一次看到h5py,貌似强大但是蛮复杂,很难去维护结构。最后我的需求还是通过手工封装python自带的shelve来解决了。工程界似乎很少在生产环境中使用hdf5。

分布式环境下很难做到实时的一致性,像moosefs这种文件系统甚至都不支持fcntl锁。并发地读写对数据库端压力也不小。

MapReduce的场景下最好还是避免随机读写,先一次性dump出来,分发到各个节点Map,完了再一次性写回去。比如Map完毕数据写入redis,可以collect回来,通过mass-insert(http://redis.io/topics/mass-insert)批量写入,避免在Map操作的时候一次次set。其他数据库应该也有类似的方案。曾经我发现过一个支持高并发随机读写的结构完善的数据库,后来我就醒了。
nooper
2013-12-29 23:53:09 +08:00
@mckelvin 这玩意我看过h5py只不过要用c接口来实现并发的机制还是可以的。那个啊那个啊并发机制非常的好的数据库,早知道用mongodb ,原先团队认为服务器资源有限,必须发挥最好的性能,但是库绝对的是个蛋疼的接口。HDF5不是一个有效的数据库系统。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/94706

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX