说说你们觉得小说存txt相较于数据库的好处吧,我统一答复
侧边栏壁纸
  • 累计撰写 56,973 篇文章
  • 累计收到 0 条评论

说说你们觉得小说存txt相较于数据库的好处吧,我统一答复

James
2020-08-29 / 0 评论 / 79 阅读 / 正在检测是否收录...

存云盘节省空间的方案暂时不提,因为这个属于另外一个范畴了,市面上云盘那么多,你们用的也都不同,而且云盘商随时都可能关闭,不可能全部接入吧,如果哪天真要使用云盘的方案,在我看来存数据库和本地txt迁移的难度是一样的,都是通过程序自动执行,不可能手动去迁移。总有朋友问这方面的问题,我也回答过很多遍了,我这里统一答复下吧。


-----------------------------------------------------
网友回复:

回复了很多,我发现同学们对数据库的概念不是很清楚,我这里统一说一下哦:

数据库存储数据和txt存储数据本质上没有区别,都是把数据存在硬盘文件上面,占用空间是一样的,都可以支持压缩,数据库只是方便管理文件的一个工具。软件程序的进化史一开始就是使用文件存储,然后逐渐发现管理文件不方便,才出现了数据库这个工具,这个是软件的发展史,从文件存储到数据库存储。


网友回复:

本地存txt确实挺傻的...

这一届MJJ水平堪忧啊


网友回复:

我也没明白为啥那么多人要用txt存储……数据库这么方便不香吗……


网友回复:

最后谈谈面向的市场和使用对象,个人浅薄眼光来说,主要使用群体就是专业做站的,那么他们一般都是用欧美大厂大空间杜甫配一个ssd主盘,然后用优质线路做跳板,这样的群体,是不需要考虑硬盘空间问题的,做好数据库索引就行

其次是广大娱乐性玩家mjj,个人或者给单位,同学小范围分享装逼用,或者自我享受提升,那么30GB以下空间闲置小鸡是大家喜闻乐见的配置需求,这种访问量完全不需要考虑io和访问相应速度,那么txt存放到onedrivegoogledrive都是没问题的,每小时千次内io访问完全不会触发api限额,需要的时候从网盘拉取对应txt,平时缓存大家日常看的txt到vps,空间快满了删除访问量少的txt,甚至只需要做在线预读取,现看现爬,本地压缩到xGB以内空间就可以使用的场景,更合适一些。


网友回复:

90G数据库,帝国cms,虽然是几百万文章,也后悔没采用文本存储。

服务器配置:E5-2683v3,16G,Sata,现在批量入库更新都常失败。

备份数据库老特么费劲。

数据库恢复更是脑壳疼。技术不到位,建议还是浪费点空间存txt,这样数据备份恢复都不做难。

把折腾的精力拿出来搞搞运营。


网友回复:

成熟方案,如起点这些都是存txt因为存数据库的话会导致数据库特别大后期维护成本高~存txt的话如起点用js调用的话可以用CDN这些加速~


网友回复:

因为存硬盘对大部分小白和mjj来说更方便。

小白和mjj要的是什么?就是操作简单易懂,最好是图形化界面。

如果是存硬盘,数据迁移方法多的是,scp,rsync,甚至最笨的ftp或sftp下载到本地再上传远程服务器。

而数据库备份,对于大部分人来说要么是phpMyAdmin或者其他sql客户端导出sql再导入,要么是宝塔面板这种把数据库打包成一个文件,这就产生两个问题:1.在线导出这种对应这么大数据量就是一个灾难,2.生产打包文件这种需要双倍的存储空间。

至于mysql的原始data备份,再到新的机器上部署服务,改配置,起停服务,数据重新导入,对很多小白来说门槛非常高,也非常容易出错,甚至一个简单的文件权限问题就可能导致数据导入失败,对大部分用户来说太难了。

当然存硬盘也有些坏处,不过这个mjj不太关心就不多说了。


网友回复:

引用:木易酱发表于2020-6-912:42

存数据库的话,以后搬家怎么备份数据库啊?几百上千G的数据库,完全没法备份搬家...


网友回复:

引用:bitman发表于2020-6-912:38

目录摘要放数据库,原文txt


网友回复:

就一个问题,大家的小鸡硬盘都有限,至于什么性能啊,体验啊,对mjj来说都是次要的,反正也不会看,但是我就要存的多


网友回复:

问题1:内容在数据库数据库会很大,可以把txtgzip一下存硬盘上,反正都会套cdn,至于es对于小说站算是可有可无的东西了有点单纯的占用资源了

答复1:txt套cdn有什么用呀(又不是下载),还是得程序先去解析内容,然后显示在模版里面,还没本地快;至于压缩空间,数据库也支持,但是牺牲了性能,我觉得时间比空间重要吧(cpu比硬盘贵);es还是很重要的,第一提升了检索速度,第二增强了搜索功能,如果我想看主角穿越到了封神时代,与姜子牙有关的故事,就直接搜姜子牙,这样相关的小说就能搜出来,没有es,没法实现。当然你的资源不够的话,es是默认关闭的,只是提供了一种更好的选择。不能说市面上有的就是最好的方案吧,这样技术永远得不到进步。


网友回复:

问题2:给点建议,如果把小说储存到数据库数据库鸭梨山大,随便几个T的小说是有的,建议下版本更新为数据库只储存书籍名称和章节名称,小说内容用txt储存,程序调用,完本书籍可以设置一键生产打包为一个txt最后压缩为zip。

答复2:数据库内容表的并发量并不是瓶颈,不分表处理日pv100万都没啥压力,现在都分表了还压力大,你想放多少台服务器就放多少台?你想分多少台服务器存就分多少台,存txt才有压力好不?txt能放在多台服务器上吗?cpu,内存,硬盘都是瓶颈。


网友回复:

引用:201206030发表于2020-6-912:35

问题1:内容在数据库数据库会很大,可以把txtgzip一下存硬盘上,反正都会套cdn,至于es对于小说站算是...


网友回复:

嗯嗯呢

有些坚持,经不起一点点希望

*哪怕是一点光亮,也会让人陷入痛苦。——《撒野》

一言


网友回复:

引用:etc小号发表于2020-6-912:34

就一个问题,大家的小鸡硬盘都有限,至于什么性能啊,体验啊,对mjj来说都是次要的,反正也不会看,但是我...


网友回复:

引用:201206030发表于2020-6-912:41

新版支持分布式存储,可以放n台数据库存储,一本小说占用空间是固定的,数据库和txt都一样,也都支持压缩...


网友回复:

存数据库的话,以后搬家怎么备份数据库啊?几百上千G的数据库,完全没法备份搬家


网友回复:

txt只能放一台vps上确实很难理解。既然把所有小说资源存入数据库可以分割到多台vps,那么一个简单的vps索引管理多台vps上索引数据库,每个索引数据库单独指派负责的本机vps固定本数或者固定空间的txt不也是数据库指令分配和限额控制么?可能难写一点,但是不是多么的逻辑吧?


网友回复**:

引用:木易酱发表于2020-6-912:42

存数据库的话,以后搬家怎么备份数据库啊?几百上千G的数据库,完全没法备份搬家...


网友回复:

最后谈谈面向的市场和使用对象,个人浅薄眼光来说,主要使用群体就是专业做站的,那么他们一般都是用欧美大厂大空间杜甫配一个ssd主盘,然后用优质线路做跳板,这样的群体,是不需要考虑硬盘空间问题的,做好数据库索引就行

其次是广大娱乐性玩家mjj,个人或者给单位,同学小范围分享装逼用,或者自我享受提升,那么30GB以下空间闲置小鸡是大家喜闻乐见的配置需求,这种访问量完全不需要考虑io和访问相应速度,那么txt存放到onedrivegoogledrive都是没问题的,每小时千次内io访问完全不会触发api限额,需要的时候从网盘拉取对应txt,平时缓存大家日常看的txt到vps,空间快满了删除访问量少的txt,甚至只需要做在线预读取,现看现爬,本地压缩到xGB以内空间就可以使用的场景,更合适一些。


网友回复:

引用:plumn发表于2020-6-912:50

最后谈谈面向的市场和使用对象,个人浅薄眼光来说,主要使用群体就是专业做站的,那么他们一般都是用欧美大...


网友回复:

引用:plumn发表于2020-6-912:39

搜索姜子牙列出的不只是数据库里的索引和书名即可么?txt读取放在点开书目进入阅读后不也可以么?普通人...


网友回复:

搞个小白能操作的安装教程吧。本小白都装不成功。


网友回复:

引用:plumn发表于2020-6-912:42

真的是做小说站盈利的,5台100gbvps,成本远高于1台2tb的杜甫


网友回复:

mariadb有s3存储引擎,将mysql数据存储到廉价高性能的对象存储中去。兼容s3的如阿里云的oss华为云的对象存储都可以,但会被云平台绑定,用vps就别想了


网友回复:

引用:201206030发表于2020-6-912:53

下面有说明,我一直有点不明百的是,txt存储和数据库存储都是在硬盘上面,本质上面是没区别的吧,数据库...


网友回复:

回复了很多,我发现同学们对数据库的概念不是很清楚,我这里统一说一下哦:

数据库存储数据和txt存储数据本质上没有区别,都是把数据存在硬盘文件上面,占用空间是一样的,都可以支持压缩,数据库只是方便管理文件的一个工具。软件程序的进化史一开始就是使用文件存储,然后逐渐发现管理文件不方便,才出现了数据库这个工具,这个是软件的发展史,从文件存储到数据库存储。


网友回复:

引用:plumn发表于2020-6-912:39

搜索姜子牙列出的不只是数据库里的索引和书名即可么?txt读取放在点开书目进入阅读后不也可以么?普通人...


网友回复:

引用:201206030发表于2020-6-913:05

回复一下前面的问题,1.就是说的点开数目进入阅读,需要程序读取txt文件中的内容,渲染到模版里面,用cdn...


网友回复:

引用:plumn发表于2020-6-912:45

txt只能放一台vps上确实很难理解。既然把所有小说资源存入数据库可以分割到多台vps,那么一个简单的vps索引...


网友回复:

引用:Miriam发表于2020-6-913:04

小说数据库会丢格式


网友回复:

非必要情况下数据库不要存txt这种内容大的字段,就好像一般都不会在数据库里面存图片... ,对于普通人来说 几百g的mysql增量备份有点难,但是每天备份几十m几百兆数据库,然后自动增量备份txt文件就容易多了


网友回复:

引用:201206030发表于2020-6-913:00

回复了很多,我发现同学们对数据库的概念不是很清楚,我这里统一说一下哦:

数据库存储数据和txt存储数据本...


网友回复:

引用:1121744186发表于2020-6-913:19

非必要情况下数据库不要存txt这种内容大的字段,就好像一般都不会在数据库里面存图片... ,对于普通人来...


网友回复:

txt用的是磁盘,而SQL占用的是CPU。哪个更贵还用说么?当然用sql更快


网友回复:

引用:plumn发表于2020-6-912:50

最后谈谈面向的市场和使用对象,个人浅薄眼光来说,主要使用群体就是专业做站的,那么他们一般都是用欧美大...


网友回复:

引用:201206030发表于2020-6-912:42

不是让你提方案哦,是让你说出方案的好处,说服我


网友回复:

不是小说站长。但很佩服楼主的开源精神。看了回帖记录,我觉得楼主想法没问题,存txt和存db理论上没什么区别。但也赞同15楼大佬说的观点,很多小说站长都是从杰奇过来的习惯了txt,有自己一套“节约成本”的手段。甚至是牺牲性能换来的。之前不是还有小说小偷程序,虽然失效风险很大,用的人不也很多嘛。

最近小老弟我也在写程序,大字段内容也压缩了,不同的是我存了nosql。想请教一下楼主,你分表join和count是怎么解决的。你应该用了现成的中间件,原理是轮询每个分表然后相加吗?另外mysql也是可以全文检索的吧,当然用es性能更好。


网友回复:

引用:bitman发表于2020-6-913:29

1,新小说入库,哪个方便?

2,文件崩了,数据库和txt哪个好修复?

3,待补充。。。


网友回复:

引用:201206030发表于2020-6-913:27

嗯,如果为了节省空间的话,存云盘的方案我是赞同的,但是这个只能作为一个备选方案,因为并不是所有的人...


网友回复:

引用:yrj发表于2020-6-913:32

不是小说站长。但很佩服楼主的开源精神。看了回帖记录,我觉得楼主想法没问题,存txt和存db理论上没什么区...


网友回复:

放数据库都是大佬吧跑2天就1.9T我之前那个小说站自己写脚本一个月跑了几十T

放数据库怕不是性能爆炸的机子


网友回复:

引用:lonhun发表于2020-6-913:39

放数据库都是大佬吧跑2天就1.9T我之前那个小说站自己写脚本一个月跑了几十T

放数据库怕不是性能爆炸的...


网友回复:

引用:plumn发表于2020-6-913:34

嗯,不过如果是mjj论坛的话,人手一堆白云盘哈哈


网友回复**:

我也没明白为啥那么多人要用txt存储……数据库这么方便不香吗……


网友回复:

引用:shc发表于2020-6-913:49

我也没明白为啥那么多人要用txt存储……数据库这么方便不香吗……


网友回复:

数据库主要是保证一致性,不需要保持一致性的内容保存个索引在数据库就行了


网友回复:

数据库多好,查的快,好维护,唯一麻烦的就是设计,不过都是一劳永逸的,至于导出备份,更是比txt效率高

反而存文本数量越大问题越大


网友回复:

引用:201206030发表于2020-6-912:41

新版支持分布式存储,可以放n台数据库存储,一本小说占用空间是固定的,数据库和txt都一样,也都支持压缩...


网友回复:

引用:kingjci发表于2020-6-914:12

数据库主要是保证一致性,不需要保持一致性的内容保存个索引在数据库就行了...


网友回复:

引用:201206030发表于2020-6-912:38

问题2:给点建议,如果把小说储存到数据库数据库鸭梨山大,随便几个T的小说是有的,建议下版本更新为数据库...


网友回复:

引用:201206030发表于2020-6-914:18

谁说的?


网友回复:

引用:201206030发表于2020-6-914:25

那你大部分内容都可以不存数据库了


网友回复:

真正的大佬肯定全数据库了,

但如果玩票性质的话,rclone丢ODGD也不错?


网友回复:

引用:大腿发表于2020-6-914:23

txt 存储gbk真的非常非常的省硬盘


网友回复:

引用:逸笙发表于2020-6-914:49

真正的大佬肯定全数据库了,

但如果玩票性质的话,rclone丢ODGD也不错?


网友回复:

本地存txt确实挺傻的...

这一届MJJ水平堪忧啊


网友回复:

引用:beastie发表于2020-6-914:28

普通的7200转机械硬盘存储数据库,访问量大数据库会卡io吗?


网友回复:

233推荐两本书:数据库系统基础教程,数据库系统实现


网友回复:

引用:201206030发表于2020-6-914:55

这个作为备选方案我也是支持的,我只是不支持存本地txt


网友回复:

引用:逸笙发表于2020-6-915:43

我这种方法,对于程序来说,就是txt存本地啊~~~


网友回复:

大访问量CPU的问题尤其小说站流量大并发高同时打开查询mysql直接崩存txt就方便的多啊php读取文本就行了有些直接干脆存html


网友回复:

引用:201206030发表于2020-6-915:44

好吧,你后面那句没看懂,我以为你说的是存云盘之类的


网友回复:

因为存硬盘对大部分小白和mjj来说更方便。

小白和mjj要的是什么?就是操作简单易懂,最好是图形化界面。

如果是存硬盘,数据迁移方法多的是,scp,rsync,甚至最笨的ftp或sftp下载到本地再上传远程服务器。

而数据库备份,对于大部分人来说要么是phpMyAdmin或者其他sql客户端导出sql再导入,要么是宝塔面板这种把数据库打包成一个文件,这就产生两个问题:1.在线导出这种对应这么大数据量就是一个灾难,2.生产打包文件这种需要双倍的存储空间。

至于mysql的原始data备份,再到新的机器上部署服务,改配置,起停服务,数据重新导入,对很多小白来说门槛非常高,也非常容易出错,甚至一个简单的文件权限问题就可能导致数据导入失败,对大部分用户来说太难了。

当然存硬盘也有些坏处,不过这个mjj不太关心就不多说了。


网友回复:

引用:dark32发表于2020-6-916:37

因为存硬盘对大部分小白和mjj来说更方便。

小白和mjj要的是什么?就是操作简单易懂,最好是图形化界面。


网友回复:

引用:yrj发表于2020-6-916:46

哈哈大佬分析的不错,能说说存硬盘的坏处嘛


网友回复:

引用:dark32发表于2020-6-917:22

最​大​的​问​题​就​是​l​i​n​u​x​文​件​系​统​存​储​海​量​的​小​文​件​效​率...


网友回复:

都别说了,mongodb这种nosql最好,存文件是什么馊主意,mongidb他不香吗?还有比内存更快的吗?最好的就是mongodb+静态化或者伪静态加cdn,这种简单的网站结构像这样设计基本不存在啥瓶颈了,多少人在线都嗖嗖的


网友回复:

引用:201206030发表于2020-6-912:53

下面有说明,我一直有点不明百的是,txt存储和数据库存储都是在硬盘上面,本质上面是没区别的吧,数据库...


网友回复:

引用:yrj发表于2020-6-916:46

哈哈大佬分析的不错,能说说存硬盘的坏处嘛


网友回复:

成熟方案,如起点这些都是存txt因为存数据库的话会导致数据库特别大后期维护成本高~存txt的话如起点用js调用的话可以用CDN这些加速~


网友回复:

TXT好

我能想到一个比较头疼的就是搬家,动辄百G的TXT和数据库搬家完全不是一个难度


网友回复:

很多人纠结硬盘空间(包括我),可以稍微说一下数据库的相关设置。你给的那几个教程不少都是老版本的,大体上对,但有些已经过时了。


网友回复:

引用:loony发表于2020-6-922:58

成熟方案,如起点这些都是存txt因为存数据库的话会导致数据库特别大后期维护成本高~存txt的话如起点用...


网友回复:

引用:By小酷发表于2020-6-923:49

起点存txt?哪里听来的


网友回复:

90G数据库,帝国cms,虽然是几百万文章,也后悔没采用文本存储。

服务器配置:E5-2683v3,16G,Sata,现在批量入库更新都常失败。

备份数据库老特么费劲。

数据库恢复更是脑壳疼。技术不到位,建议还是浪费点空间存txt,这样数据备份恢复都不做难。

把折腾的精力拿出来搞搞运营。


网友回复:

数据库本来就不是当存储用的,将数据分开最好。数据库就做数据库,数据就做数据


网友回复:

引用:sky21022发表于2020-6-1000:23

90G数据库,帝国cms,虽然是几百万文章,也后悔没采用文本存储。

服务器配置:E5-2683v3,16G,Sata,现在...


网友回复:

引用:额头有王的喵发表于2020-6-1000:57

数据库本来就不是当存储用的,将数据分开最好。数据库就做数据库,数据就做数据...


网友回复:

引用:biubiu发表于2020-6-923:38

TXT好

我能想到一个比较头疼的就是搬家,动辄百G的TXT和数据库搬家完全不是一个难度...


网友回复:

引用:鼎剑阁发表于2020-6-923:46

很多人纠结硬盘空间(包括我),可以稍微说一下数据库的相关设置。你给的那几个教程不少都是老版本的,大体...


网友回复:

引用:loony发表于2020-6-922:58

成熟方案,如起点这些都是存txt因为存数据库的话会导致数据库特别大后期维护成本高~存txt的话如起点用...


网友回复:

引用:逸笙发表于2020-6-915:57

呃,rclone挂载ODGD到本地,对于你程序来说就是存本地啊,但对于我们人类来讲就是存云盘啊...


网友回复:

引用:201206030发表于2020-6-912:42

不是让你提方案哦,是让你说出方案的好处,说服我


网友回复:

不经常修改数据的话,txt就很好啊 。直接读不香么 ?备份简单


网友回复:

引用:201206030发表于2020-6-1007:51

一个汉字占用的字节数不都一样?txt存难道占用的字节数少一些?


网友回复:

引用:a87750530发表于2020-6-1009:19

目录摘要放数据库,原文txt

因为数据库当你导入100T的时候你就知道情况有多复杂了,你看做小说程序的成熟...


网友回复:

引用:201206030发表于2020-6-1008:05

起点并不是js调用,本来想把起点的接口返回数据复制过来的,太多了,超出了限制,小说内容是通过接口和其...


网友回复:

引用:我的辣文最好看发表于2020-6-1011:34

数据库迁移不一样是复制粘贴吗?

有什么区别?


网友回复:

这个其实就是一个面向用户的问题,我认同用数据库更高大上,问题是,他贵啊

小号VPS我相信论坛的MJJ没几个手上没有的,而手握大盘杜甫的MJJ体量比起来就少得多了,

假设我有10台30G的小鸡,我全拿来组小说站的数据库也才300GB,

而如果能对接到onedrive,gd团队盘放txt,那就逆天了有没有 毕竟人手一个白**嘛

至于速度降低啊,请求次数啊这些限制,基本可以无视,大多数MJJ都是玩票的一天也就几个单数IP,

真要是认真做个大站的还不都上杜甫嘛。


网友回复:

我艹,这问题,让我想起了把图片存在数据库好,还是存成文件好。。。?


网友回复:

引用:tiane12发表于2020-6-1016:52

我艹,这问题,让我想起了把图片存在数据库好,还是存成文件好。。。?


网友回复:

引用:201206030发表于2020-6-1006:45

数据库不是当存储的?长见识了


网友回复:

引用:yrj发表于2020-6-1002:15

几百万文章就90g了?感觉有点大呀。长文文章?


网友回复:

性能问题吧,存数据库既占用空间又消耗cpu

txt只消耗硬盘

当并发数过大的时候得多高配置

txt只需要一个ssd硬盘就行了


网友回复:

引用:我的辣文最好看发表于2020-6-1017:31

这跟图片性质不一样.

图片都直接上oss了,因为图片不涉及二次解析和渲染.


网友回复:

数据库表类型是MyISAM的话楼主说data下的某个数据库备份确实是真香,甚至整个data备份。但是如果是innodb类型的话,却没有直接诶打包备份这么简单的一说了。这个时候备份也没有那么方便了。

不过几百g的数据库甚至更大按T计算的数据,毕竟采集了几十万本小说的话,轻易可以达到这个数。那么读取数据库是否有压力。

不过txt存储备份更是极为不方便,海量的txt小文件打包压缩的话得好几天了吧


网友回复:

我选txt+数据库,txt直观简单,备份容易。以后不做站也能存,对看小说的用户友好。数据库备份一下几百个g,导出又是一波麻烦事。数据库虽然一堆好处,但我选txt。


网友回复:

引用:ouou8发表于2020-6-1318:23

数据库表类型是MyISAM的话楼主说data下的某个数据库备份确实是真香,甚至整个data备份。但是如果是inn...

0