17. База данных на Redis
Сам блокчейн будет храниться в redis. В памяти будет висеть база с указателями на последние выходы, в формате address:blockchain_number (адрес кошелька:номер блока). Можно сказать, что это будет просто кеш последних значений, где находятся данные для проверки по конкретным владельцам кошельков. Если сервер выключится или будет сбой, то база в памяти исчезнет, но это не повлияет на работу Атома. Входы и выходы будут проверяться соответственно быстрее чем, в обычной базе данных, так как указатели будут находится в памяти и скорость обработки информации будет максимальной.
Итог:
- храним классический блокчейн в redis и сохраняем эти блоки на диск
- держим в памяти указатели на нужные блоки
- проверяем быстро транзакцию на валидность и проводим ее
- добавляем новый блок
Инфа из википедии:
Redis (от англ. remote dictionary server) резидентная система управления базами данных класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ значение». Используется как для баз данных, так и для реализации кэшей, брокеров сообщений.
Ориентирована на достижение максимальной производительности на атомарных операциях (заявляется о приблизительно 100 тыс. SET- и GET-запросов на Linux-сервере начального уровня). Написана на Си, интерфейсы доступа созданы для большинства основных языков программирования.