Gizzard был открытым исходным кодом фреймворка для сегментирования для создания пользовательских отказоустойчивых , распределенных баз данных . Первоначально он использовался Twitter и возник из широкого спектра проблем хранения данных. Gizzard работал как промежуточный сетевой сервис, работающий на виртуальной машине Java . Он управлял разделением данных по произвольным хранилищам данных бэкэнда, что позволяло эффективно к ним обращаться. [2] [3] Правила секционирования хранились в таблице пересылки, которая сопоставляет диапазоны ключей с разделами. Каждый раздел управлял своей собственной репликацией через декларативное дерево репликации . Gizzard обрабатывал как физические, так и логические шарды. Физические шарды указывают на физический бэкэнд базы данных, тогда как логические шарды являются деревьями других шардов. [4] Кроме того, Gizzard также поддерживал миграции и изящно обрабатывал сбои. Система была в конечном итоге сделана согласованной, требуя, чтобы все операции записи были идемпотентными и коммутативными . Если операции терпят неудачу, они повторяются позже. Gizzard доступен на GitHub и лицензирован по лицензии Apache License 2.0.