[GolosSQL] - База данных SQL со всеми данными блокчейн

в прошлом году
79 в голос

Многим хотелось бы иметь доступ к данным блокчейна Голоса, чтобы анализировать то, что происходит, или найти некую ценную информацию.

Но не у всех есть достаточно умения в программировании, чтобы собрать данные и получить из них желаемый результат.

Поэтому, я создал общедоступную базу данных Microsoft SQL Server со всеми данными блокчейна.

Главное преимущество такой базы данных в том, что данные структурированы и легко доступны любому приложению, способному общаться с базой данных SQL Server’а. Наличие базы данных SQL Server позволяет получать быстрые ответы на запросы.

Зачем использовать базу данных SQL?

Простыми словами, SQL запрос спрашивает базу данных, а та выдаёт ответ, который называется результатом запроса.
Например, когда вы работаете с большими объемами данных, такими как блокчейн Голоса, вы желаете получить ответы на простые вопросы, вроде:

  • Какова была величина уменьшения Силы Голоса за последние шесть недель?
  • Какие посты входят в десятку самых успешных? (В плане награды)

Постоянно заглядывать в блокчейн, чтобы получить подобную информацию, затратно по времени и ресурсоемко.

Если у вас нет локальной копии блокчейна, то вместо того, чтобы скачивать все данные из него, вы просто отправляете запрос и получаете только необходимую информацию, что экономит массу трафика.

Давайте рассмотрим технические детали

Диаграмма базы данных

Таблица “Blocks” содержит сырую информацию из блоков (время, делегат, …)
Каждый блок может быть связан с одной или несколькими записями в “Transactions”. В зависимости от типа транзакции, связанные с транзакцией данные хранятся в соответствующей “Tx****” таблице.

Новые транзакции из последних блоков данных добавляются в базу данных каждые 10 секунд.

Таблица аккаунты наполняется вот так:

  • Каждый раз, когда в базу данных добавляется транзакция от неизвестного аккаунта, соответствующие аккаунту данные добавляются в нее.
  • Каждый раз, когда в базу данных добавляется транзакция от известного аккаунта, соответствующее аккаунту поле “dirty” помечается как “true”.
  • Каждые десять минут все аккаунты с флагом “dirty” обновляются.

Такое поведение было добавлено для того, чтобы:

  • избежать перегрузки сервера базы данных слишком частым обновлением аккаунтов
  • снизить нагрузку на сидов нод Голоса, запрашивая данные аккаунтов реже

Так что будьте аккуратнее с запросами к таблице “Accounts”. Если у аккаунта есть флаг “dirty”, это означает, что новые транзакции, появившиеся в базе данных, возможно затронули значения некоторых полей, но эти значения еще не были обновлены.

Полнотекстовый поиск

По базе данных возможен полнотекстовый поиск. Это позволяет быстро находить информацию, содержащуюся в постах и комментариях.

Например, если я хочу узнать, где кто-то говорил обо мне, поможет следующий запрос

SELECT author, title, body, url FROM TxComments WHERE CONTAINS(body, '@arcange')

Быстродействие

Для улучшение быстродействия ответов на запросы было создано несколько индексов. Если ваши запросы выполняются медленно, не стесняйтесь написать мне, чтобы проанализировать ситуацию и посмотреть как можно ее улучшить.

Давайте посмотрим на некоторые технические данные.

Информация по подключению к базе данных:

Вот информация о том, как подключиться и посылать запросы в базу данных:

Server: sql.golos.cloud
User: golos
Password: golos

Поддержка

Если вам нужна помощь, или у вас есть какие-то вопросы и комментарии, пожалуйста используйте канал GolosSQL

Доступность и быстродействие

SQL сервер расположен в дата-центре с доступностью 24/7/365. Пропускная способность канала до 500Mb/s

Сейчас сервер находится в общей инфраструктуре.
Я слежу за нагрузкой, и если он потребует больше ресурсов, я выделю их из награды за этот пост для перевода его на выделенный сервер.


Translated by RuSteemitBlog
Переведено командой RuSteemitBlog

Поддержите меня и мою работу в качестве делегата, проголосовав за меня тут!

Если вам понравился этот пост,
не забудьте голосование или подписаться или поделиться

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.
Порядок сортировки:  Популярное

актуализация: В английской версии этот пост здесь

Спасибо за предоставленный сервис, может вы сможете подсказать - мне нужен список всех пользователей сети Голос с обновлением в режиме реального времени, это возможно получить в вашей базе?

·

да, конечно..но мне очень нужно сейчас спать. Я не спал прошлой ночью. Это нормально для завтра?

·
·

Спасибо, конечно никаких проблем, это не срочно=)
спокойной ночи

SELECT author, title, body, url FROM TxComments WHERE CONTAINS(body, '@arcange')

@arcange, поля url в таблице TxComments нету. Зато есть permlink

·

Вы правы. Мне нужно, чтобы опубликовать обновление.
проектирование базы данных изменилось.

66
  ·  в прошлом году

Подскажите, где можно посмотреть поля таблиц?

·

Таблица полей будут отображаться на вашем клиенте SQL

·
·
66
  ·  в прошлом году

Спасибо) Просто не хочется устанавливать СУБД) Думал, может есть описание таблиц)

А какой клиент удобнее использовать для базы данных?
Ага MS SQL server MS вполне подошел =)

·

В Windows, вы можете использовать Microsoft SQL Server Management Studio

На других операционных системах, любой клиент, совместимый с "MS-SQL Server" будет ОК

·
·

Да спасибо - я как раз через первый уже зашел =)