Алекс ПетровРаспределенные данные. Алгоритмы работы современных систем хранения информации
Когда дело доходит до выбора, использования и обслуживания базы данных, важно понимать ее внутреннее устройство. Как разобраться в огромном море доступных сегодня распределенных баз данных и инструментов? На что они способны? Чем различаются?
Алекс Петров знакомит нас с концепциями, лежащими в основе внутренних механизмов современных баз данных и хранилищ. Для этого ему пришлось обобщить и систематизировать разрозненную информацию из многочисленных книг, статей, постов и даже из нескольких баз данных с открытым исходным кодом.
Вы узнаете о принципах и концепциях, используемых во всех типах СУБД, с акцентом на подсистеме хранения данных и компонентах, отвечающих за распределение. Эти алгоритмы используются в базах данных, очередях сообщений, планировщиках и в другом важном инфраструктурном программном обеспечении. Вы разберетесь, как работают современные системы хранения информации, и это поможет взвешенно выбирать необходимое программное обеспечение и выявлять потенциальные проблемы.
Некриптографические хэш-функции и CRC не стоит использовать для проверки данных на предмет постороннего вмешательства. Для этого всегда следует использовать сильные криптографические хэш-функции, предназначенные для обеспечения безопасности. CRC предназначен главным образом для проверки данных на отсутствие непреднамеренных и случайных изменений. Эти алгоритмы не предназначены для защиты от атак и преднамеренного изменения
СУБД хранят записи в файлах данных и индексных файлах. Эти файлы разбиты на секции фиксированного размера, называемые страницами, размер которых часто составляет несколько блоков файловой системы. Размер страниц обычно находится в диапазоне от 4 до 16 килобайт.