在阅读了Bret Taylor(FriendFeed的联合创始人,Facebook当前首席技术官)撰写的一篇令人震惊的文章之后,FriendFeed 如何使用MySQL来存储无模式数据,我开始怀疑是否有使用RDBMS的最佳实践,如Oracle,用于存储和查询无模式数据的MySQL或PostgreSQL?
当NoSQL成为新的热点时,很少有人愿意承认他们正在使用关系数据库,这使得很难找到关于该主题的好文章.如何将无模式(或"面向文档")数据库实现为关系数据库之上的层?
我想存储最多10M文件,2TB存储单元.我需要的唯一属性仅限于文件名及其内容(数据).
文件max-length为100MB,大部分都小于1MB.需要删除文件的能力,写入和读取速度都应该是优先考虑的事项 - 而不需要低存储效率,恢复或完整性方法.
我考虑过NTFS,但是大多数功能都不需要,虽然不能被禁用并被认为是一个开销问题,其中一些是:创建日期,修改日期,属性,日志和权限.
由于文件系统的本机功能不需要,您是否建议我将SQLITE用于此要求?或者我应该注意一个明显的缺点?(有人会猜测删除文件将是一项复杂的任务吗?)
(SQLITE将通过C api)
我的目标是使用更合适的解决方案来获得性能.在此先感谢 - Doori酒吧
我有一个文件"test.txt"包含testMessage.writeDelimitedTo(the-DataOutputStream-that uses a new FileOutputStream pointing to the file)每行写的多个protobuf"TestMessage"消息.如何阅读每行test.txt并获取每行的protobuf?
使用包含字符串的文件上的bufferedreader,我会这样做:
String strLine; // What is the alternative to String?
while ((strLine = br.readLine()) != null) {
System.out.println (strLine);
TestMessage test = new TestMessage.builder();
test.parseDelimitedFrom(strLine);
}
Run Code Online (Sandbox Code Playgroud)
如果我要使用此方法,我应该将类型设置为"String"而不是"String"?这可能吗?
或者我可以不这样做,每个mressage必须写入一个单独的文件?
注意:假设TestMessage是唯一的消息.