1
cdwyd 2016-11-20 00:58:33 +08:00 via Android 1
每个回答放在一行,或者入库
|
2
billlee 2016-11-20 01:08:08 +08:00 1
你听说过数据库吗?
|
4
thekoc OP 看了一下 sqlite ,准备用它了。
|
5
billlee 2016-11-20 01:30:50 +08:00 2
@thekoc 是啊, ext 文件系统的设计不适合存放大量小文件, btrfs 也许可以。
但一个文件还会有用户权限修改时间什么的很多元数据,开销很大。打开文件的时候还要占用文件描述符。 你用个简单的 SQLite 数据库也比直接创建文件好。 |
6
em70 2016-11-20 01:32:05 +08:00 via iPhone 1
本来就是玩,你就尽量折腾呗,各种方法都试试,多好的提高机会啊
|
7
bazingaterry 2016-11-20 02:53:41 +08:00 1
@thekoc 都用数据库了,干脆就 MySQL 吧。
|
8
onlyice 2016-11-20 08:52:28 +08:00 via Android 1
感觉楼上说的解决办法都对,但是没有解答这个基本问题:为什么放文件会比放数据库更占用磁盘空间?
楼主可以试着解答下 |
10
smallghost 2016-11-20 08:54:04 +08:00 1
@bazingaterry 我觉得用 Postgres 数据库好!
|
11
doubleflower 2016-11-20 09:12:50 +08:00 1
linode 可以自已格式化一个盘挂上的,格式成 ReiserFS 就可以了,那个不限 inode 数。
|
12
Zzzzzzzzz 2016-11-20 11:34:13 +08:00 1
leveldb 啊
|
13
tumbzzc 2016-11-20 12:01:58 +08:00 via iPhone 1
我还说爬虫怎么会自己产生小文件呢。。。
|
14
yaozeyuan93 2016-11-20 13:26:52 +08:00 1
@onlyice 因为文件有最低大小←_←
好像 4kb 吧我记得 |
15
ctrlaltdeletel 2016-11-20 13:39:31 +08:00 1
感觉可以使用个 bitcask 引擎的存储系统试试。
|
16
crayonyi 2016-11-21 10:51:33 +08:00
以前我们的图片服务器也遇到一样的问题, inode 耗净,磁盘空间却还很多。
解决方法当然是用数据库或者使用分布式文件存储方案: 1 ) MogileFS 、 FastDFS 等分布式文件存储系统 2 ) OSS 、七牛、又拍云等云存储方案(每月每 G 才几毛钱) |
17
yanzixuan 2016-11-22 14:42:44 +08:00
一般入 mongodb ,如果觉得喜欢文件的话,也可以使用 mongo 的文件存储。
|