Кажется, что то, что вы хотите сделать (выбрать между двумя значениями), более четко выражено с помощью метода Next
вместо метода NextDouble
.
const int ExclusiveUpperBound = 2;
if (new Random().Next(ExclusiveUpperBound) == 0)
Полученное значение «больше или равно нулю и меньше» ExclusiveUpperBound
.
Это в основном зависит от ваших потребностей.
Прочтите Предостережения при оценке баз данных , чтобы понять, как их оценивать.
полка (хранение диктонариев в файле / стандартном модуле Python)
ZODB - база данных постоянных объектов (база данных объектов Python, без SQL)
Дополнительные инструменты устойчивости: http://wiki.python.org/moin/PersistenceTools
Как насчет SimpleDB от Amazon?
Существует библиотека Python с открытым исходным кодом под названием boto для python, взаимодействующего с веб-сервисами Amazon.
Мои 5 центов:
Вам нужны распределенные системы с данными размером терабайт или высокой производительностью записи?
Ну, им нужен один из самых важных ключей: значение / BigTable / Dynamo. Это могут быть Cassandra, Tokyo Tyrant, Redis и т. Д. Вам необходимо убедиться, что клиентская библиотека поддерживает сегментирование, чтобы у вас было несколько баз данных для записи. Какой из них использовать здесь, вы можете решить только после тестирования с данными, которые выглядят так, как вы думаете, что вам нужно.
Требуются ли вам, чтобы данные были доступны из других систем / языков, кроме Python?
Поскольку эти базы данных имеют никакой структуры для их данных, если она доступна из других языков / клиентов, ваша зависит от того, что вы в ней храните. Но если вам нужен этот CouchDB, это хороший выбор, поскольку он хранит данные в виде документов JSON, поэтому вы получаете возможность взаимодействия.