Предыдущие посты из серии:
- Размышления про толстые клиенты
- Начал работать над толстым клиентом для Голоса
- Проблема обновления данных в толстом клиенте
Сегодня я задался вопросом - сколько весит текущая база, если ее хранить в БД, сколько весят отдельные таблицы. Вариантов получения размерности не так много. Я решил проанализировать MSSQL базу от @arcange, и вот что получилось:
Работал с базой с помощью HeidiSQL. Для чистоты эксперимента сделал выборку маленькой таблицы TxDeleteComments и выполнил экспорт всех строк в csv формат, получилось ~700Кб, что вполне понятно (наличествуют управляющие символы, кавычки, перевод строк + числа представлены строками).
Отсюда можно сделать выводы, на текущий момент база со всей информацией весит ~10Гб. И это хорошо. Основной вес - это таблица с блоками, и там очень много служебной информации вот такого вида:
"block_num" "previous" "timestamp" "witness" "witness_signature" "transaction_merkle_root"
"9" "00000008ba5936a2c02c686246595e78e33960d1" "2016-10-18 11:02:12.000" "cyberfounder" "1f63bee817f26f2cf4ab3290f1c7cd82e617722a3f794d961c78d4350db782eaaf720b43df01dac25e756acab8525ece7f0891d103f121573a6b63a3046d8288e2" "0000000000000000000000000000000000000000"
По моему мнению, если прочистить весь контент и убрать служебные записи, то вес всего контента на Голосе не превысит 4Гб. Даже если рассчитывать на будущее 10-ти кратный рост - 40Гб вполне нормальная размерность для такой базы, разбить на логические партиции в будущем и средний сервер потянет выборки в ней без проблем.
Что же, похоже я попробую все таки заполнять свою архитектуру для толстого клиента на основе воссоздания истории всего Голоса анализируя блок за блоком. Старую служебную информацию можно просто удалять, освобождая место для актуального контента. Всем спасибо за внимание, оставляйте комментарии и подписывайтесь.
UPD: Решил посмотреть на размер БД Steemit тем же способом. Вот результат (вес примерно в 6 раз больше):
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
losos, t3ran13, andrvik, maks, tristamoff, antonkostroma, ropox, gryph0n, asuleymanov, gapel, vika-teplo
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"