Если вы хотите масштабироваться между несколькими виртуальными машинами, вы можете взглянуть на GemStone/S. .
Однако имейте в виду, что GemStone является запатентованным коммерческим продуктом. Так что вам придется платить за это. Однако модель ценообразования, как правило, разработана таким образом, что если вам нужна более крупная версия, то, как правило, пользователи также будут платить за эту версию. Цены начинаются с 0 $ за версию с 4-гигабайтным диском / 1-гигабайтной оперативной памятью / 1 процессором.
Еще одна вещь, которую следует отметить, это то, что GemStone Smalltalk является собственным диалектом, поэтому ваш код Squeak, вероятно, не будет работать без изменений, но его будет довольно легко портировать. (Например, инженеры GemStone создали адаптер, который позволяет загружать пакеты Monticello (система контроля версий Squeak) в GemStone/S, а также обычно они обеспечивают запуск Seaside.)
Итак, что такое драгоценный камень? По сути, это распределенная виртуальная машина с автоматическим сохранением объектов. Это проще всего объяснить по сравнению с обычной виртуальной машиной Smalltalk. Если у вас есть две виртуальные машины Smalltalk, работающие бок о бок, каждая из них имеет свою собственную объектную память (то есть то, чем управляет сборщик мусора). И эта объектная память находится в оперативной памяти. В GemStone все виртуальные машины в кластере совместно используют одну и ту же объектную память, и она находится на диске, а не в оперативной памяти. Итак, вам не нужна нужна база данных, даже объектно-ориентированная, потому что ваши объекты "просто там", везде и всегда.
(Это очень упрощенное описание. Например, куча не на самом деле используется совместно виртуальными машинами. Это не имеет смысла, вы не захотите реплицировать каждый созданный вами временный объект по сети. Вместо этого у вас есть глобальный объект репозитория (по сути, словарь), и точно так же, как сборщик мусора начнет с какого-то хорошо известного корневого объекта, а затем сохранит все доступные оттуда объекты и удалит те, которые недоступны, GemStone начните с объекта глобального репозитория и сохраняйте/реплицируйте только объекты, доступные оттуда.)
GemStone также имеет функции базы данных, поэтому доступ к глобальному репозиторию обернут транзакциями ACID, и есть язык запросов, вдохновленный SQL, но Smalltalkish.
У GemStone есть хорошее приложение, которое они называют "GLASS" (для GemStone, Linux, Apache, Seaside и Smalltalk). аналог известного "LAMP" (Linux, Apache, MySQL и PHP). GLASS включает в себя бесплатную версию GemStone с предустановленной Seaside и все настройки с Apache, работающим поверх Xubuntu, все аккуратно упаковано в образ диска VMWare.
person
Jörg W Mittag
schedule
07.07.2009