Внедрение ACID - PullRequest
       18

Внедрение ACID

9 голосов
/ 23 января 2009

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

Из-за характера данных они не подходят для хранения в обычных готовых системах (реляционных или ключ-значение).

Каковы хорошие ресурсы о том, как реализовать системы, которые должны обеспечивать семантику ACID?

Мой типичный поиск в Google возвращает больше информации о системе, которая уже предоставляет семантику ACID, а не о том, как реализовать такие системы.

Ответы [ 4 ]

6 голосов
/ 23 января 2009

ARIES - это популярный алгоритм для реализации базы данных ACID (например, SQL Server использует этот алгоритм).

  1. Википедия по Овену
  2. Бумага ОВЕН
2 голосов
/ 23 января 2009

Тимоти Лири - Как управлять своим мозгом

http://www.youtube.com/watch?v=SQq_XmhBTgg

1 голос
/ 23 января 2009

Если вы знаете немецкий, я бы порекомендовал

  • Альфонс Кемперер: Datenbanksysteme - Eine Einführung, ISBN 3486576909

«Einführung», что означает «введение», является грубым занижением. Книга состоит из нескольких глав о том, как физически выложить данные: WAL (запись в журнал с опережением записи), сериализуемая или несериализуемая истории, перезапуск после сбоев и многое другое.

Хотя я сомневаюсь, что вы действительно хотите написать что-то подобное. Должен ли я напомнить вам, что теоретически вы можете моделировать любую структуру данных поверх реляционной модели?

0 голосов
/ 13 декабря 2013

Посмотрите на оптимистичный параллелизм. Используйте подход STM (программная транзакционная память) вместо блокировки. Гораздо быстрее и проще в реализации. Вы можете иметь 10000 или 100000 транзакций ACID в секунду, используя уровень изоляции SERIALIZABLE. Не нужно ослаблять изоляцию свойства транзакций.

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

См. http://bergdb.com/ для базы данных, над которой я работаю. Не стесняйтесь связаться со мной для обсуждения этой интересной темы. / Франс Лундберг

И для моего понимания плохо определенных свойств ACID:

http://blog.franslundberg.com/2013/12/acid-does-not-make-sense.html

...