ої до моменту збою зафіксованої транзакції. Авторизовані користувачі можуть також запросити підтримку реплицирования областей сховища даних. p> У системі підтримується цілісність за посиланнями між всіма об'єктами, оскільки всі посилання грунтуються на використанні об'єктних ідентифікаторів, і об'єкти, для яких існують посилання від інших об'єктів, не можуть бути видалені. Для підвищення швидкості доступу до часто використовуваних колекціям забезпечується засіб побудови індексів. p> Об'єкти робляться стабільними (тобто зберігаються в базі даних) шляхом використання свого роду стабільного кореня, званого коннектором. Всі об'єкти, прямо або побічно досяжні за об'єктними посиланнями від коннектора, є стабільними. У GemStone кожного класу, в якому існує хоча б один стабільний об'єкт, підтримується еквівалентна серверна версія класу. Іншими словами, один варіант класу служить класом в контексті програмування, а інший - у контексті бази даних. Такі пари підтримуються автоматично: якщо створюється клас в сенсі Smalltalk, і деякий об'єкт цього класу стає стабільним, то автоматично створюється серверний клас цього об'єкту (клас в сенсі GemStone). Створення коннектора призводить до появи екземпляра класу GemStone, еквівалентного класу об'єкта, що повинен бути зроблений стабільним. Аналогічно, будь-який об'єкт, досяжний від коннектора, автоматично стає стабільним. p> У GemStone підтримується динамічна збірка сміття (Garbage collection). Процес-"сміттяр" автоматично звільняє пам'ять, займану об'єктами, на які відсутні посилання.
У середовищі GemStone можна використовувати різні реалізації Smaltalk, а також мови C і C + +. Класи і об'єкти можна створювати з використанням будь-якого з цих мов, і об'єкти, створені на одній мові можна використовувати в додатках, написаних на будь-якому іншому мовою. Реалізація мови C являє собою набір функцій і набір компонентів, що перетворюють об'єкти GemStone в покажчики і літерали C і навпаки. Реалізація C + + включає препроцесор в чистий С і бібліотеку класів.
Підключення до реляційних систем (наприклад, Oracle або IBM DB 2) виробляються через шлюзи. Для синхронізації стану локальної (Керованої GemStone) і зовнішніх копій даних забезпечується автоматична модифікація даних. Залежно середовища і вимог до рівня сінхронізованності ці оновлення виконуються негайно або ж в пакетному режимі.
GemStone можна також використовувати для управління даними, відповідними стандартам OLE та CORBA. Для роботи з даними в реляційному стилі підтримуються стандарти SQL і ODBC.
ITASCA
Розподілена ООСУБД ITASCA заснована на результатах проекту Orion, виконує в MCC. Розробка серії з трьох прототипів завершилася випуском системи, заснованої на архітектурі "багато клієнтів-багато серверів ". Система була доведена до рівня комерційного продукту починаючої техаської компанією, яка в 1995 р. була придбана компанією IBEX ...