Информация об изменениях

Сообщение Re: СУБД для ведения базы пользователей под Win/Linux от 16.04.2020 6:20

Изменено 16.04.2020 6:20 vsb

Re: СУБД для ведения базы пользователей под Win/Linux
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Посоветуйте, пожалуйста, с помощью какой СУБД проще организовать ведение базы пользователей/покупателей собственного софта.


В принципе с помощью любой. Самый простой вариант это sqlite, другие

ЕМ>Структура записи примитивная — имя/фамилия, email, сведения о лицензиях (если есть), произвольные заметки (особенности использования программ, субъективные впечатления и т.п.).


Любая база может.

ЕМ>Необходимо наличие командно-строкового интерфейса для добавления, поиска и удаления записей под Windows/Linux, чтобы прикрутить к скриптам.


Любая база может.

ЕМ>Под винду очень желательно наличие хотя бы простенького гуя для просмотра базы, формирования запросов по типовым критериям и т.п.


Тут точно не подскажу, но клиентов для любых БД десятки, думаю, найти можно что-нибудь по вкусу.

ЕМ>Было бы неплохо наличие сжатия на лету


Вроде есть, хотя не знаю, зачем тебе это на таких объёмах.

EM>а также частичной/полной синхронизации (например, порция записей в течение дня или недели накапливается на сервере, а затем разом добавляется к полной базе, которая лежит у меня на рабочей станции).


Это, скорей всего, придётся делать самому, хотя по описанию несложно, один скрипт выгружает новые и изменённые записи, второй скрипт вставляет или редактирует другую базу. Но проще всего просто копировать сами файлы базы.

ЕМ>Еще хотелось бы поддержки шифрования, чтобы на сервере держать только открытый ключ, по которому шифровались бы поступающие в базу данные, а секретный ключ использовался бы только на рабочей станции.


Вот этого я нигде не видел. Просто пароль на базу — видел, а именно с ключами не видел. Подозреваю, что это технически невозможно, т.к. базе требуется доступ к содержимому полей для запросов и тд. Я бы секретную часть хранил в отдельном поле в виде бинарных данных и шифровал бы в приложении, работающем с БД.

ЕМ>Я в современных СУБД совершенно не ориентируюсь, знаю только названия вроде MySQL, SqLite, Access и т.п.


SQLite это очень простая, но очень проверенная и вполне полноценная для своего класса база. У неё нет сервера, это встраиваемая база (т.е. работает как DLL), вся база лежит в одном файле. Один минус: если требуется параллельный доступ нескольких приложений к одной базе, тут SQLite не параллелится, работать они будут по очереди.

Postgres это полноценная клиент-серверная СУБД. Если нужна "взрослая" БД, тебе сюда. Поддерживает любые объёмы, любые нагрузки.

MySQL неплохая база, но зачем она нужна при живом постгресе, я не знаю. Раньше она была совсем плохая, сейчас вроде получше стала.

Коммерческие базы при живом постгресе тоже не вижу смысла смотреть.

В общем резюмируя, SQLite тебе подойдёт почти идеально (за вычетом шифрования).
Re: СУБД для ведения базы пользователей под Win/Linux
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Посоветуйте, пожалуйста, с помощью какой СУБД проще организовать ведение базы пользователей/покупателей собственного софта.


В принципе с помощью любой. Самый простой вариант это sqlite.

ЕМ>Структура записи примитивная — имя/фамилия, email, сведения о лицензиях (если есть), произвольные заметки (особенности использования программ, субъективные впечатления и т.п.).


Любая база может.

ЕМ>Необходимо наличие командно-строкового интерфейса для добавления, поиска и удаления записей под Windows/Linux, чтобы прикрутить к скриптам.


Любая база может.

ЕМ>Под винду очень желательно наличие хотя бы простенького гуя для просмотра базы, формирования запросов по типовым критериям и т.п.


Тут точно не подскажу, но клиентов для любых БД десятки, думаю, найти можно что-нибудь по вкусу.

ЕМ>Было бы неплохо наличие сжатия на лету


Вроде есть, хотя не знаю, зачем тебе это на таких объёмах.

EM>а также частичной/полной синхронизации (например, порция записей в течение дня или недели накапливается на сервере, а затем разом добавляется к полной базе, которая лежит у меня на рабочей станции).


Это, скорей всего, придётся делать самому, хотя по описанию несложно, один скрипт выгружает новые и изменённые записи, второй скрипт вставляет или редактирует другую базу. Но проще всего просто копировать сами файлы базы.

ЕМ>Еще хотелось бы поддержки шифрования, чтобы на сервере держать только открытый ключ, по которому шифровались бы поступающие в базу данные, а секретный ключ использовался бы только на рабочей станции.


Вот этого я нигде не видел. Просто пароль на базу — видел, а именно с ключами не видел. Подозреваю, что это технически невозможно, т.к. базе требуется доступ к содержимому полей для запросов и тд. Я бы секретную часть хранил в отдельном поле в виде бинарных данных и шифровал бы в приложении, работающем с БД.

ЕМ>Я в современных СУБД совершенно не ориентируюсь, знаю только названия вроде MySQL, SqLite, Access и т.п.


SQLite это очень простая, но очень проверенная и вполне полноценная для своего класса база. У неё нет сервера, это встраиваемая база (т.е. работает как DLL), вся база лежит в одном файле. Один минус: если требуется параллельный доступ нескольких приложений к одной базе, тут SQLite не параллелится, работать они будут по очереди.

Postgres это полноценная клиент-серверная СУБД. Если нужна "взрослая" БД, тебе сюда. Поддерживает любые объёмы, любые нагрузки.

MySQL неплохая база, но зачем она нужна при живом постгресе, я не знаю. Раньше она была совсем плохая, сейчас вроде получше стала.

Коммерческие базы при живом постгресе тоже не вижу смысла смотреть.

В общем резюмируя, SQLite тебе подойдёт почти идеально (за вычетом шифрования).