Существуют ли общие реализации ARIES или других ACID-обеспечивающих алгоритмов? - PullRequest
1 голос
/ 09 апреля 2010

У меня есть приложение, которое я хотел бы выполнить определенные действия атомарно. Однако эти действия выполняются в удаленном хранилище, и соединения могут прерваться, действия могут быть неудачными и т. Д.

Существует множество литературы о том, как применять свойства ACID - ведение журнала с предварительной записью, ОВЕН и т. Д. - но есть ли какие-либо общие реализации этих возможностей?

По сути, я ищу библиотеку / API / и т. Д. где я могу предоставить некоторое стабильное хранилище (например, локальный жесткий диск) для ведения журнала, а также выполнить свои особые действия (в нестабильном удаленном хранилище) и сделать так, чтобы этот гипотетический вспомогательный код обрабатывал большую часть учета ACID.

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

Существует ли такая вещь?

1 Ответ

1 голос
/ 28 августа 2010

В C # пространство имен System.IO.Log имеет вспомогательные средства, связанные с журналами, которые могут быть близки к тому, что вы ищете, хотя сами по себе они не помогут в изоляции. Если вы используете LogRecordSequence, вы получите довольно сложную реализацию журнала под ним.

Дополнительно sqlite делает все это и находится в свободном доступе. Я полагаю, что его механизм хранения и т. Д. Был бы несколько отделим, хотя вам, вероятно, придется разорвать его на части.

...