Выбор правильной базы данных для проекта Delphi

Я разрабатываю с Delphi XE2.

Я планирую программное обеспечение для начальной и средней школы. В этой школе 1500 учеников. Модель базы данных реляционная, и мы планируем сохранить всю историю каждого учащегося с течением времени. (хорошо, в какой-то момент он будет заархивирован, но в основном все отношения будут поддерживаться в течение хорошего времени)

Раньше я писал приложения на Delphi, используя DBISAM V4 от Elevate Software. Я имею лицензию на это, так что это все еще возможность для его использования.

Однако недавно я связывался со многими компаниями, использующими Firebird, некоторые из них использовали Postgres и многие веб-сайты с MySQL.

Я не вижу необходимости пользоваться платными базами данных, так как этот тип клиентов чувствителен к инвестициям. Таким образом, любая база данных, которая бесплатна для такого использования, плюс возможность продолжать использовать DBISAM. Мне это нравится, но оно стареет.

Я предпочитаю размещать бизнес-логику в программном обеспечении, а не в базе данных, поэтому нет необходимости запутывать логику или процедуры на стороне базы данных.

Мои вопросы: что мне нужно учитывать, чтобы выбрать правильную базу данных?

2 ответа

Решение

Этот пост вики может вам помочь. Кроме того, вы должны принять решение об использовании OLE-DB, ODBC или DBX в качестве технологии промежуточного программного обеспечения. В зависимости от того, какой из них вы найдете или не поддерживает Delphi.

Другой критерий включает ноу-хау в отношении параметров базы данных и ограничений / требований по безопасности и масштабируемости.

Однако, независимо от того, какую СУБД вы выберете, мой лучший совет для вас - изолировать доступ к ней на выделенном уровне обслуживания, чтобы большая часть вашего приложения не зависела от нее напрямую.

На вашем месте я бы смоделировал приложение с точки зрения классов доменов и вложил бы в постоянный уровень. Если в будущем вам придется перейти на другую СУБД, большая часть кода будет сохранена.

Здесь будет работать DBISAM, и вы даже можете написать веб-сервис на Delphi, чтобы обеспечить доступ к планшетам и тому подобному. Вам нужно начать думать о вещах, которые действительно имеют здесь значение, таких как, на какой платформе находятся пользователи, сколько пользователей всего, сколько пользователей будут использовать базу данных одновременно (среднее и максимальное), сколько строк хранится на одного учащегося, сколько строк добавляется / удаляется / обновляется ежедневно и т. д. В DBISAM ограничен SQL. Это делает много, но не все, что вы можете сделать в других базах данных. Их новый продукт, ElevateDB, устраняет большинство недостатков, включая Unicode.

Другие вопросы по тегам