2009-01-23 4 views
9

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

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

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

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

ответ

5

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

  1. Wikipedia on ARIES
  2. The ARIES paper
+0

Care резюмировать здесь? –

+0

Я обязательно рассмотрю эти ресурсы. Это кажется хорошей отправной точкой. - Спасибо –

2

Тимоти Лири - Как работать ваш мозг

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

+0

+1: Лучший ответ, который я видел в течение долгого времени. Престижность. –

+0

Не совсем полезно, хотя :) (Если последующее расширение ума не позволило вам решить проблему). –

+0

Кодирование видения квеста, вероятно, должно быть зарезервировано для разработки компилятора/ОС и обратной инженерии. Я не могу представить, что хорошо работает для баз данных. –

1

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

  • Альфонс Kemperer: Datenbanksysteme - Eine Einführung, ISBN 3486576909

"Einführung", что означает "введение", является грубым understatment. В книге есть несколько глав о том, как вы физически выложите данные, WAL (запись на запись вперед), сериализуемую или несериализуемую историю, перезапустите после сбоев и многое другое.

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

+0

Интересно. Мне, конечно, хотелось бы, чтобы сейчас я мог читать немецкий язык. Удовлетворительно, что вы можете смоделировать что-либо в реляционной базе данных, но что, если у вас есть очень конкретный набор данных в виду, что, если он имеет очень специфический шаблон чтения? Гибкость реляционной базы данных теряется. –

+1

Лучше потерять гибкость реляционной базы данных, чем 6 месяцев вашей жизни ... – Eloff

0

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

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

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

И для моей взять на нечетко определенных свойств ACID:

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

Смежные вопросы