Архитектуры ООСУБД. Анализ реализаций


Модель параллельности


«В любой архитектуре имеются способы ослабления блокировок для некоторых типов приложений, для которых не требуется полный набор свойств ACID (Atomicy – атомарность, Consistency – согласованность, Isolation – изоляция, Durability – долговечность).»

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

«…обновления всегда приводят к выполнению операций координации блокировок и согласования кэшей.»

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

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

«При использовании архитектуры, основанной на … страницах, размещение объектов и блокировки тесно связаны, а архитектура, основанная на объектах, позволяет ортогонализировать эти аспекты.»

Здесь Грин подчеркивает то, что при использовании блокировок на уровне объектов установка блокировки на объект гарантирует, что блокируется только этот объект. Это означает, что при блокировании любого объекта не может быть непредумышленно заблокирован какой-либо другой объект. В этом смысле блокировки на уровне объектов являются разъединенными, или независимыми одна от другой.




Начало  Назад  Вперед



Книжный магазин