Общие вопросы о MySQL и MySQLite - PullRequest
0 голосов
/ 15 мая 2011

Я собираюсь записывать в файл базы данных MySQLite, используя модуль Perl DBD: SQLite , и мне интересно, возможно ли чтение этого файла любым дистрибутивом MySQL?Есть ли лучший способ создать простую базу данных MySQL (с использованием Perl)?

Если это что-то значит, я собираюсь использовать базу данных только для хранения пар ключ-значение на основе уникальных идентификационных номеров дляключи.Я пробовал BerkeleyDB, но в Perl его поддержка была незначительной, и я не мог заставить его работать должным образом в некоторых версиях Windows.

Редактировать: я знаю, что BerkeleyDB - лучший способ сделать это, но когда я писал сценарии для него, у большинства методов был TODO, и у меня были загадочные ошибки в Windows Server 2003, использующие тот же герметичный код, который выполнялся в течение 2 недель прямо на моей машине с Win7 дома.

Ответы [ 3 ]

5 голосов
/ 15 мая 2011

MySQL и SQLite - это полностью отдельные системы СУБД. MySQLite не существует. Насколько мне известно, MySQL не может читать базы данных SQLite.

Если все, что вам действительно нужно, это хранилище значений ключей, возможно, посмотрите на Redis: http://code.google.com/p/redis/

2 голосов
/ 16 мая 2011

Я использую Perl DBI модуль , который я могу использовать для чтения баз данных с использованием MySQL или SQLite. Все, что вам нужно, это правильный драйвер. Фактически, если вы пишете свою программу правильно, база данных (SQLite или MySql) не имеет значения. Ваша программа будет работать с любым из них.

Однако вы не можете использовать базу данных SQLite, а затем обращаться с ней как с базой данных MySQL. Это два разных существа. Ваша программа может быть независимой от базы данных, но как только вы выбрали базу данных, вы не можете переключаться назад и вперед. Это все равно что открыть базу данных Oracle как базу данных MySQL.

См. Эта публикация на Perl Monks для получения дополнительной информации.

2 голосов
/ 15 мая 2011

BerkeleyDB хорошо поддерживается Perl.У вас есть выбор между старым DB_File и более полнофункциональным модулем BerkeleyDB.

Но есть множество вариантов.Если вы не хотите запускать отдельный процесс сервера, используйте DBI и DBD :: SQLite или BerkeleyDB или любой из модулей AnyDBM_File.Для простого серверного хранилища ключей-значений есть redis или старый memcached.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...