Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Используете ли вы секретную альтернативу SQLite?

pexels cottonbro 4709289

Я знаю лучший способ травмировать разработчика программного обеспечения, который какое-то время использует Delphi. Вы просто показываете им это изображение:

Менеджер администрирования BDE. Так много «счастливых» часов пытается разрешить сообщения «PDOXUSERS.NET is in use» и узнать все о назначении таких загадочных настроек, как SharedDir и NETDIR. Дрожь. Если вы хотели сохранить базу данных, доступ к которой осуществляется через BDE, на сетевом диске, вам нужно было сделать множество вещей, чтобы убедиться, что она не повреждена. Несмотря на это, разработчики стали экспертами по устранению повреждений базы данных Paradox. Ситуация была довольно мрачной, хотя, если говорить о защите, это было время, когда почти все, что мы сегодня считаем само собой разумеющимся, все еще находилось на начальной стадии; коммутируемое соединение было обычным (и непостоянным), и почти у всех был хотя бы один компакт-диск AOL в качестве подставки для напитков.

Почему люди использовали BDE, если у него было так много проблем?

Что ж, короткий ответ был: это сработало. Фактически, как только вы его настроили, он работал довольно хорошо и был чрезвычайно прост в использовании. Это позволило вам простым способом связываться с различными базами данных, такими как DBase и Paradox. Настолько просто, что Paradox де-факто превратилась в технологию баз данных без SQL вместе с DBase, у которой были собственные проблемы.

SQLite универсальный инструментарий

На арену, предшествовавшую появлению Windows, проскользнул SQLite. С самого начала он разрабатывался как простая база данных, которая позволяла выполнять SQL-подобные команды для набора таблиц, содержащихся в одном «плоском» файле. У него были — и все еще есть — ограничения и причуды, такие как AUTOINC столбцы, отличные от ROWID столбцов, или тот факт, что у него нет собственных типов DATETIME или BOOLEANтипов.


О, и, как и PostgreSQL, имя, которое все еще сбивает меня с толку, когда мне приходится произносить его вслух, имя SQLite раздражает. Смотри равный свет; не следует ли произносить это слово «смотри»?

Несмотря на это, он стал очень популярным.

В чем секрет нативной альтернативы SQLite в Delphi?

На виду у всех на виду — впечатляющая система баз данных, которая почти полностью заменяет SQLite для настольных приложений, написанных на Delphi и C ++ Builder. Эта база данных является абсолютной базой данных от технологического партнера Component Ace.

 

Почему Absolute Database не более известна?


По какой-то причине Absolute Database не захватила воображение разработчиков Delphi так же, как другие системы. Я не совсем уверен, почему это так.

В моей «повседневной работе» мы используем Absolute Database для настольного продукта, который также может быть многопользовательским и с данными, хранящимися на сетевом сервере. Этот настольный продукт имеет около 10 000 индивидуальных установок. Как и в случае с любой базой данных с плоскими файлами, люди совершают сумасшедшие вещи, такие как отключение питания в середине записываемых данных или некоторая злонамеренная злоба, называемая «Обновления Windows», сбивает сервер и перезагружается немного менее изящно, чем предполагалось в документации Windows API. При запуске приложения база данных Absolute Database незаметно восстанавливает и автоматически устраняет любые повреждения, без вмешательства пользователя.

Это испытано и протестировано для нас. Наш типичный клиентский профиль для настольной версии наших продуктов — это малый и средний бизнес и вездесущий «магазин для мам и пап». У нас также есть продукты клиент-сервер, которые используют полнокровные СУБД, такие как MySQL и PostgreSQL, но линейка продуктов, использующая Absolute Database, разработана таким образом, чтобы ее можно было легко установить и использовать для «обычных» пользователей без необходимости в администраторах БД, техническом персонале или, во многих случаях отсутствует надлежащая сеть и соответствующий ИТ-персонал.

Мой список ключевых особенностей Absolute Database

Есть ли аналог Absolute Database для настольных ПК?


Существует не только эквивалент почтенного Database Desktop, но и Component Ace также предоставляет для него полный исходный код. Это приложение служит отличным инструментом для создания, запроса и обслуживания баз данных на основе формата Absolute Database, но также является отличным справочным инструментом о том, как получить доступ к данным и выполнять различные неочевидные функции, такие как создание или восстановление таблиц БД во время выполнения.

Абсолютная база данных — инструмент диспетчера баз данных

Где взять абсолютную базу данных

Вы можете найти Absolute Database на официальном сайте Component Ace здесь: https://www.componentace.com/bde_replacement_database_delphi_absolute_database.html

Каковы ключевые особенности Absolute Database и почему она похожа на SQLite?


Как и SQLite, абсолютная база данных хранит все таблицы в одном файле. Этот файл может находиться либо на вашем локальном жестком диске, либо в общей сетевой папке. По умолчанию файлы базы данных Absolute имеют расширение «.abs», хотя на самом деле их можно называть как угодно.

Ключевые функции Absolute Database, перечисленные Component Ace, следующие:

Absolute Database избегает ада DLL

Для меня преимуществом было отсутствие каких-либо дополнительных драйверов или файлов для развертывания с приложением при сохранении полной TDatasource совместимости. Функциональность базы данных скомпилирована прямо в ваше приложение, и, насколько мне известно, это дает дополнительное преимущество: ваши программы защищены от того, что мы называли «адом DLL», когда общие библиотеки DLL драйверов и SDK на главном компьютере обновлялись либо с помощью другое приложение, которое использовало тот же пакет SDK базы данных и библиотеки DLL либо путем обновления или исправления операционной системы.

Благодаря подходу «все в вашем exe», используемому Absolute Database, небольшие накладные расходы на встроенный код доступа к базе данных легко перевешиваются его преимуществом, что означает, что ваше приложение имеет пуленепробиваемый иммунитет от тех видов компьютерных экологических катастроф, которые все еще сохраняются. по сей день для таких ситуаций, как приложения, которые обращаются к MySQL; где что-то идет необъяснимо неправильно при попытке подключиться к серверу MySQL, и после долгого выдергивания волос и аренды одежды выясняется, что в системе имеется более одного «libmysql.dll», и, кроме того, ваше 32-битное приложение пытается загрузить 64-битная библиотека или наоборот.

Абсолютная база данных в среде разработки Delphi RAD Studio

Попробуй бесплатно

Персональная, не многопользовательская версия Absolute Database бесплатна для личного использования, поэтому вам не нужно верить мне на слово (хотя Component Ace не имеет прямого отношения ко мне и не имеет никакого отношения к этой статье — мои взгляды мой собственный). Попробуйте сравнить Absolute Database для себя с SQLite и посмотрите, как вы ладите. Если вы хотите пойти дальше, вам, вероятно, придется заплатить за коммерческую версию, которая добавляет такие вещи, как доступ к полному исходному коду и возможность работы в многопользовательском режиме, но к тому времени вы, как и я, можете задаться вопросом, почему это лучшая секретная база данных в Интернете.

Exit mobile version