Магма, ТОВАРЫ, GLORP или что-то еще?

@jmanning2k с помощью понимания списка имеет оборотную сторону создания нового временного списка. Лучшее решение использовало бы itertools.imap, который возвращает итератор

from itertools import imap
l = [1, "foo", 4 ,"bar"]
",".join(imap(str, l))
11
задан Alex 7 July 2009 в 04:41
поделиться

3 ответа

Если вы хотите масштабировать несколько виртуальных машин, вы можете взглянуть на GemStone / S .

Однако имейте в виду, что GemStone - это запатентованный коммерческий продукт . Так что вам придется заплатить за это. Однако модель ценообразования, как правило, разработана таким образом, что если вам требуется более крупная версия, то вы, как правило, также попросите пользователей заплатить за эту версию. Цены начинаются с 0 долларов за версию 4 ГиБайт / 1 ГиБайт ОЗУ / 1 ЦП.

Следует также отметить, что GemStone Smalltalk - это собственный диалект, поэтому ваш код Squeak, вероятно, не будет работать без изменений, но должен быть довольно легко портировать. (Например, инженеры GemStone создали адаптер, который позволяет загружать пакеты Monticello (система контроля версий Squeak) в GemStone / S, а также они обычно следят за тем, чтобы Seaside работал.)

Итак, что такое GemStone? По сути, это распределенная виртуальная машина с автоматическим сохранением объектов. Это проще всего объяснить по сравнению с обычной Smalltalk VM. Если у вас есть две виртуальные машины 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.

и есть вдохновленный SQL, но язык запросов Smalltalkish.

В GemStone есть хорошее устройство, которое они называют « GLASS » (для GemStone, Linux, Apache, Seaside и Smalltalk), аналогичное хорошо известному «ЛАМПА» (Linux, Apache, MySQL и PHP). GLASS включает бесплатную версию GemStone с предустановленной Seaside и все, что настроено с Apache, работающим поверх Xubuntu, все аккуратно упаковано в образ диска VMWare.

и есть вдохновленный SQL, но язык запросов Smalltalkish.

В GemStone есть хорошее устройство, которое они называют « GLASS » (для GemStone, Linux, Apache, Seaside и Smalltalk), аналогичное хорошо известному «ЛАМПА» (Linux, Apache, MySQL и PHP). GLASS включает бесплатную версию GemStone с предустановленной Seaside и все, что настраивается с помощью Apache, работающего поверх Xubuntu, все аккуратно упаковано в образ диска VMWare.

12
ответ дан 3 December 2019 в 07:39
поделиться

Если вы можете выбрать, я бы тоже выбирайте СТЕКЛО или Магму (зависит от размера проекта).

Учтите, что GLorp в Squeak работает только с PostgreSQL. Мы разработали SqueakDBX, драйвер базы данных для взаимодействия с большинством баз данных. Сейчас мы модифицируем Glorp, чтобы вы могли использовать его со всеми ними (не только с PostgreSQL). Но это произойдет не раньше конца этого года.

Сейчас мы модифицируем Glorp, чтобы вы могли использовать его со всеми ними (не только с PostgreSQL). Но это произойдет не раньше конца этого года.

Сейчас мы модифицируем Glorp, чтобы вы могли использовать его со всеми ними (не только с PostgreSQL). Но это произойдет не раньше конца этого года.

1
ответ дан 3 December 2019 в 07:39
поделиться

GLASS alone doesn't really help to give you an overview over your data. SandstoneDB does. You can use SandstoneDB with both GOODS and GLASS, (or even alone), depending on how much money you wish to spend (Sandstone is free in all senses, GLASS is commercial, but free as in free beer for small installations).

Check out the sandstoneDB page. And here's the adaptor for GOODS. To use SandstoneDB with GLASS, just switch the store to SDMemoryStore, see the class comments on SDMemoryStore in SandstoneDB.

3
ответ дан 3 December 2019 в 07:39
поделиться