[SteemLightDB](https://github.com/ety001/steem-lightdb) (以下简称 LightDB ) 是一个基于 Steem 链的 MySQL 数据服务。 在有 SBDS 的情况下,为啥还要在弄一个 SteemLightDB 呢? 由于之前搭建过 SBDS 服务,发现里面有很多的问题,其中稳定性、数据原始性、数据容量这三个问题比较突出。 * SBDS 的稳定性直接依赖于其取数据的节点的稳定性; * SBDS 的数据太原始,加工度不够,如果应用开发者需要一些数据之间的关系,需要开发者获取后自己加工,增加了开发者的开发工作量和难度; * SBDS 占用空间太大,对于穷人来说,服务器费用开销太大。 LightDB 主要就是要针对以上三点进行优化,这就是 LightDB 的目的。LightDB 希望最终完成一套基于 Docker 的数据方案,开发者除了可以使用我提供的节点外,还可以自己快速便捷的搭建起来 LightDB。 # 介绍 首先看下 LightDB 大致的结构图: ![](https://steemeditor.com/storage/images/gfxaNli5XeyFmBEm6ZBn801SuZCXFeCjt4xtqCe8.png) LightDB 主要分为四层。 整体的工作流程就是,有单独的脚本通过数据节点获取 Blockchain Data 然后存入 MySQL,这就是 MySQL Base Data 层。 第二层数据其实就是整个区块链每个块的原始数据。第二层的目的就是让 LightDB 的稳定性不再依托数据节点。通过第一层到第二层的脚本程序,来保证 LightDB 的数据源的稳定性,进而保证 LightDB 的稳定性。 从第二层到第三层由另外一个独立程序对原始数据进行加工,这种加工就是对整个区块数据进行重播。**LightDB 的核心思想就是要建立一个更像是社交网站的数据库。** 通过对整个区块链数据的重播,把所有的原始数据和数据之间的关联都存入数据库,这样第三层的数据其实就是一个初步加工后的数据了。 第四层API层的目的是为开发者提供更便捷的数据服务。这一层会对常用数据进行封装,对更复杂的应用场景下的数据关联进行封装,并且可以缓存的数据将进行缓存。这样对于开发者来说,不必要直接连接 LightDB 的数据库,也可以直接获取到加工后的数据。 这其中还有一部分没有在图中体现出来,就是在第二层和第三层都会有回收程序,对数据进行清理。对于很多工具类应用开发者来说,超过一个月的数据可能就是没有用的了,因此回收程序的目的就是保证数据只留存设置的天数。当然你也可以选择不启动回收程序,而搭建一个全数据量的节点。 整个项目计划将分为三个大部分去完成,第一部分工作是第二层的建立,第二部分工作是第三层建立,第三部分工作是建立第四层。 # 进度 20180515 目前第一阶段暂时不考虑收益计算,那个太复杂了。当前只是针对社交内容进行了设计。 * 目前第二层的代码工作已经完成并开始同步数据,当前同步高度在将近 20000000 的位置。 * 对于第三层的数据结构设计也基本完工,近期将开始编写 Replay 程序。 ![](https://steemitimages.com/DQmXFfTDbr4s5wSu5AHuMd6zdHz2gGcMJp2XaTQ1t6GNMfy/image.png) 由于项目比较大,尤其是对于原有的数据结构需要去研究,因此整体进度推进的比较慢。目前已经过去了三周了吧,总体进度不是很乐观。其中第三层的数据库结构设计来来回回了好几遍,也是够折腾。 Over! ![upvote](https://steemit-production-imageproxy-upload.s3.amazonaws.com/DQmb2XLRnqy5netJri1pMXwqxB22MxujE4XakYcHeVUpQqx) --- 欢迎使用 [SteemMention](https://steem-mention.com) 获取最新的 Steem 回复提醒。 --- 欢迎使用 [SteemEditor](https://steemeditor.com) 来编写文章,最好用的 Steem 编辑器,没有之一!!! --- --- **感谢你的阅读,我是中文区见证人之一,欢迎通过 [SteemConnect](https://v2.steemconnect.com/sign/account-witness-vote?witness=ety001&approve=1) 来给我投票,或者打开 [https://steemit.com/~witnesses/](https://steemit.com/~witnesses/) 页面,输入 *ety001* 进行投票。** ![2.gif](https://steemitimages.com/DQmZfJo3F8NXpFx7nenQA3zTU9jg6YoRQvfyeeHgSYpdqr4/2.gif) **中文区的见证人目前有:** 支持一下他们(按字母顺序),*一人可以有30票*: - @abit | [投票](https://steemconnect.com/sign/account_witness_vote?approve=1&witness=abit) - @bobdos| [投票](https://steemconnect.com/sign/account_witness_vote?approve=1&witness=bobdos) - @ety001| [投票](https://steemconnect.com/sign/account_witness_vote?approve=1&witness=ety001) - @justyy |[投票](https://steemconnect.com/sign/account_witness_vote?approve=1&witness=justyy) - @skenan |[投票](https://steemconnect.com/sign/account_witness_vote?approve=1&witness=skenan) --- **Thank you for reading. I'm a witness. I would really appreciate your witness vote! You can vote by [SteemConnect](https://v2.steemconnect.com/sign/account-witness-vote?witness=ety001&approve=1). Or open [https://steemit.com/~witnesses](https://steemit.com/~witnesses) page, input *ety001* to vote.** ![2.gif](https://steemitimages.com/DQmZfJo3F8NXpFx7nenQA3zTU9jg6YoRQvfyeeHgSYpdqr4/2.gif) --- **This post is powered by [SteemEditor](https://steemeditor.com).**
post_id | 48,596,546 | ||||||
---|---|---|---|---|---|---|---|
author | ety001 | ||||||
permlink | steemlightdb-20180515 | ||||||
category | cn-dev | ||||||
json_metadata | "{"links": ["https://github.com/ety001/steem-lightdb", "https://steem-mention.com", "https://steemeditor.com", "https://v2.steemconnect.com/sign/account-witness-vote?witness=ety001&approve=1", "https://steemit.com/~witnesses/", "https://steemconnect.com/sign/account_witness_vote?approve=1&witness=abit", "https://steemconnect.com/sign/account_witness_vote?approve=1&witness=bobdos", "https://steemconnect.com/sign/account_witness_vote?approve=1&witness=ety001", "https://steemconnect.com/sign/account_witness_vote?approve=1&witness=justyy", "https://steemconnect.com/sign/account_witness_vote?approve=1&witness=skenan", "https://steemit.com/~witnesses"], "users": ["abit", "bobdos", "ety001", "justyy", "skenan"], "tags": ["cn-dev", "witness-category", "cn-programming"], "app_url": "https://steemeditor.com", "app": "steemit/0.1", "image": ["https://steemeditor.com/storage/images/gfxaNli5XeyFmBEm6ZBn801SuZCXFeCjt4xtqCe8.png"], "format": "markdown"}" | ||||||
created | 2018-05-15 03:02:33 | ||||||
last_update | 2018-05-21 16:07:24 | ||||||
depth | 0 | ||||||
children | 6 | ||||||
net_rshares | 15,154,684,275,738 | ||||||
last_payout | 2018-05-22 03:02:33 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 53.792 SBD | ||||||
curator_payout_value | 17.851 SBD | ||||||
pending_payout_value | 0.000 SBD | ||||||
promoted | 0.000 SBD | ||||||
body_length | 3,124 | ||||||
author_reputation | 190,546,071,796,324 | ||||||
root_title | "SteemLightDB 项目介绍及项目进度 20180515" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 SBD | ||||||
percent_steem_dollars | 10,000 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
abit | 0 | 194,650,991,926 | 100% | ||
adm | 0 | 14,393,986,613,079 | 80% | ||
justyy | 0 | 138,871,924,780 | 9.85% | ||
luneknight | 0 | 156,015,624 | 100% | ||
yuxi | 0 | 10,489,446,918 | 50% | ||
happyukgo | 0 | 105,974,006 | 5% | ||
htliao | 0 | 61,619,071,701 | 12% | ||
ety001 | 0 | 3,609,462,587 | 100% | ||
idx | 0 | 16,855,447,307 | 100% | ||
skenan | 0 | 185,288,795,262 | 100% | ||
superbing | 0 | 659,877,002 | 5% | ||
dailyfortune | 0 | 440,545,754 | 5% | ||
dailystats | 0 | 1,119,794,808 | 5% | ||
victory622 | 0 | 60,770,342,222 | 36% | ||
opaulo | 0 | 9,756,666,548 | 2.36% | ||
bobdos | 0 | 4,176,400,510 | 10% | ||
cnbuddy | 0 | 6,455,552,126 | 1% | ||
anxin | 0 | 130,240,316 | 5% | ||
lebin | 0 | 32,042,451,438 | 30% | ||
foodielifestyle | 0 | 91,205,819 | 5% | ||
woolfe19861008 | 0 | 109,871,478 | 5% | ||
dailychina | 0 | 764,574,106 | 5% | ||
mycat | 0 | 133,824,942 | 12% | ||
dongfengman | 0 | 531,148,517 | 5% | ||
serenazz | 0 | 55,998,684 | 5% | ||
properfraction | 0 | 562,928,500 | 100% | ||
fanso | 0 | 66,102,545 | 5% | ||
zcool | 0 | 151,293,350 | 10% | ||
lilypang22 | 0 | 258,620,598 | 5% | ||
chaimyu | 0 | 28,782,031,891 | 100% | ||
sweet-jenny8 | 0 | 899,312,889 | 5% | ||
shine.wong | 0 | 598,296,035 | 100% | ||
turtlegraphics | 0 | 493,452,470 | 5% |
你好cn区点赞机器人 @cnbuddy 很开心你能成为cn区的一员。倘若你不喜欢我的留言,请回复“取消”。
post_id | 48,599,378 |
---|---|
author | cnbuddy |
permlink | re-ety001-steemlightdb-20180515-20180515t032840690z |
category | cn-dev |
json_metadata | {} |
created | 2018-05-15 03:28:42 |
last_update | 2018-05-15 03:28:42 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2018-05-22 03:28:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 53 |
author_reputation | -1,405,328,253,928 |
root_title | "SteemLightDB 项目介绍及项目进度 20180515" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
大工程 😲
post_id | 48,619,242 |
---|---|
author | shine.wong |
permlink | re-ety001-steemlightdb-20180515-20180515t064051420z |
category | cn-dev |
json_metadata | "{"app": "steemit/0.1", "tags": ["cn-dev"]}" |
created | 2018-05-15 06:41:00 |
last_update | 2018-05-15 06:41:00 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2018-05-22 06:41:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 5 |
author_reputation | 1,373,339,077,399 |
root_title | "SteemLightDB 项目介绍及项目进度 20180515" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
本来也打算写一个只采集内容/回复的程序。期待lightDB早日上线我就可以偷懒了。顺便问一下,如果只采集内容,大约每天消耗多少存储空间?
post_id | 48,658,998 |
---|---|
author | yuxi |
permlink | re-ety001-steemlightdb-20180515-20180515t123306861z |
category | cn-dev |
json_metadata | "{"app": "steemit/0.1", "tags": ["cn-dev"]}" |
created | 2018-05-15 12:33:09 |
last_update | 2018-05-15 12:33:09 |
depth | 1 |
children | 3 |
net_rshares | 0 |
last_payout | 2018-05-22 12:33:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 68 |
author_reputation | 11,393,749,492,813 |
root_title | "SteemLightDB 项目介绍及项目进度 20180515" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
目前我的第二层的那些block原始数据,已经占用了262G.![](https://steemitimages.com/DQmZu24sEWB1CfehSs3ey7E5CgooZGtYSeBDLidhHvdrKzf/image.png) 在220G的时候,我果断又买了一个2T硬盘的独服来运行这个。 具体纯内容需要多少空间,不清楚,但是不乐观。 建议还是随用随删。
post_id | 48,662,244 |
---|---|
author | ety001 |
permlink | re-yuxi-re-ety001-steemlightdb-20180515-20180515t125926628z |
category | cn-dev |
json_metadata | "{"app": "steemit/0.1", "image": ["https://steemitimages.com/DQmZu24sEWB1CfehSs3ey7E5CgooZGtYSeBDLidhHvdrKzf/image.png"], "tags": ["cn-dev"]}" |
created | 2018-05-15 12:59:27 |
last_update | 2018-05-15 12:59:27 |
depth | 2 |
children | 2 |
net_rshares | 0 |
last_payout | 2018-05-22 12:59:27 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 185 |
author_reputation | 190,546,071,796,324 |
root_title | "SteemLightDB 项目介绍及项目进度 20180515" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
谢谢,你给的这个信息非常有用,大大超出了我的预期。
post_id | 48,687,142 |
---|---|
author | yuxi |
permlink | re-ety001-re-yuxi-re-ety001-steemlightdb-20180515-20180515t155306931z |
category | cn-dev |
json_metadata | "{"app": "steemit/0.1", "tags": ["cn-dev"]}" |
created | 2018-05-15 15:53:12 |
last_update | 2018-05-15 15:53:12 |
depth | 3 |
children | 1 |
net_rshares | 0 |
last_payout | 2018-05-22 15:53:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 25 |
author_reputation | 11,393,749,492,813 |
root_title | "SteemLightDB 项目介绍及项目进度 20180515" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |