Я занимаюсь обновлением/повторной записью приложения для анализа данных, которое я написал пару лет назад. То, что я пытаюсь достичь, выглядит следующим образом:Невозможно экспортировать базу данных/каталог в один файл в HSQLDB
- Мне нужно иметь легкую базу данных для выполнения запросов, я решил использовать HSQLDB.
- У меня будет 2 приложения; один для создания БД и тот, который будет выполнять анализ (будет использоваться другими). Мое намерение состоит в том, что программное обеспечение для анализа (которое многопоточно) будет использовать БД в режиме только для чтения.
- БД, скорее всего, будет распространяться по FTP и предпочтительно с минимальными трудностями для пользователя программного обеспечения для анализа (большая часть которые не очень технически квалифицированы).
Я не очень хорошо читаю SQL, но мне удалось получить информацию в таблицах и опробовать простые запросы. Поэтому, чтобы закончить приложение «создатель базы данных», мне просто нужно выяснить, как «упаковать» БД.
Я экспериментировал и с мем и файл «каталоги» as described in the HSQLDB user guide, когда я генерировать БД. Как я понимаю, с каталогами мем Я не могу записать их на диск (для распространения позже) и с файлов каталогов Я несколько файлов, которые необходимо позаботиться о:
файл: каталог состоит из от 2 до 6 файлов, все они называются одинаковыми , но с разными расширениями, расположенными в том же каталоге. Для Например, база данных с именем "тест" состоит из следующих файлов:
• test.properties
• test.script
• test.log
• test.data
• test.backup
• test.lobs
Файл свойств содержит несколько настроек базы данных. Файл сценария содержит определение таблиц и других объектов базы данных, а также данные для не кэшированных таблиц. Файл журнала содержит последние изменения в базе данных. Файл данных содержит данные для кэшированных таблиц , а файл резервной копии представляет собой сжатую резервную копию последнего известного согласованного состояния файла данных . Все эти файлы необходимы и никогда не должны удаляться. Для некоторых каталогов файлы test.data и test.backup не будут присутствовать. В дополнение к этим файлам, база данных HyperSQL может ссылаться на любые форматированные текстовые файлы, такие как CSV-списки, где угодно на диске.
Вопрос (ы):
Я думаю
*.script
и*.properties
файлы являются наиболее важными из них, но руководство в частности, говорится, что все файлы имеют важное значение и не должны быть удалены. Поскольку в моем случае нет файла*.data
, и все данные для генерации моей базы данных хранятся в файле*.script
(в ясном тексте), это заставляет меня думать, что когда я «открываю» этот файл, JVM полностью воссоздает всю БД , Это верно? Разве это не очень неэффективное представление данных?Если мое понимание в (1) верное, почему другие файлы необходимы? Должен ли я распространять их все?
Если (1) и (2) не являются внедорожниками, то какие варианты я должен выполнить для своей цели? Возможно ли, например, gzip все файлы и транспортировать их таким образом? Тогда мой анализ программного обеспечения не потребуется распаковать их в разумном месте, и сделать очистку время от времени, когда он получает «людно» там ...
Вы можете использовать 'script' команду: http://hsqldb.org/doc/2.0/guide/management-chapt.html#N1482D –
@a_horse_with_no_name не уверен, что я понимаю, командный сценарий, очевидно, создает скрипт, содержащий инструкции SQL для воссоздания БД. Разве это не файл '.script', который у меня уже есть? В разделе «Руководство пользователя» (HSQLDB) указано: «Реестр: каталог состоит из файлов для небольшой базы данных, доступной только для чтения, которая может храниться в ресурсе Java, таком как архив ZIP или JAR, и распространяется как часть Java-приложения ». Именно это я и надеялся достичь – posdef