- Регистрация
- 30.01.2020
- Сообщения
- 66
- Благодарностей
- 69
- Баллы
- 18
Всем привет!
На форуме регулярно возникают вопросы по хранению и обработке данных в шаблонах. Многие, новички и не только, продолжают использовать бесконечные списки и таблицы в ZennoPoster. Я их прекрасно понимаю — когда-то и мне работа с базами данных казалась чем-то для избранных.
Но, скажу однозначно: преодолев этот барьер, вы выйдете на новый уровень. Работа шаблонов станет стабильнее, а многие технические проблемы исчезнут сами собой.
Какую же БД выбрать? Давайте разберем двух главных кандидатов: SQLite и MySQL (и подобные серверные СУБД).
Ключевое отличие: Архитектура
MySQL — решение для сложных и высоконагруженных проектов.
Выбирайте MySQL, если:
Во втором режиме создаем таблицу с необходимыми нам параметрами, если необходимо несколько таблиц - повторяем работу во втором режиме нужное количество раз. По окончании наша база готова к работе.
Как составить описание таблицы:
Одна строка = один столбец.
Разделитель: запятая.
Первое значение - название столбца (id, name, email, age, url)
Второе значение - типы данных
Третье значение - дополнительные параметры
Прежде чем использовать шаблон, необходимо cкопировать файл
System.Data.SQLite.dll в папку ExternalAssemblies вашего ZennoPoster.
Файл System.Data.SQLite.dll лежит в архиве.
На форуме регулярно возникают вопросы по хранению и обработке данных в шаблонах. Многие, новички и не только, продолжают использовать бесконечные списки и таблицы в ZennoPoster. Я их прекрасно понимаю — когда-то и мне работа с базами данных казалась чем-то для избранных.
Но, скажу однозначно: преодолев этот барьер, вы выйдете на новый уровень. Работа шаблонов станет стабильнее, а многие технические проблемы исчезнут сами собой.
Какую же БД выбрать? Давайте разберем двух главных кандидатов: SQLite и MySQL (и подобные серверные СУБД).
Ключевое отличие: Архитектура
- SQLite — это файл-база. Вся БД — это один файл на диске (например, project.db). Не требует установки сервера. (Необходимо только подключить к шаблону библиотеку - System.Data.SQLite.dll).
- MySQL, PostgreSQL — это клиент-серверные системы. База работает как отдельный сервис, к которому ZennoPoster подключается по сети.
- Простота и портативность. Скопировали файл .db рядом с шаблоном — и база готова. Перенести проект на другой ПК — просто скопируйте папку.
- Нулевая администрация. Не нужно настраивать сервер, управлять пользователями или открывать порты.
- Высокая скорость. Для записи прокси, обновления статусов аккаунтов или работы с куками SQLite очень быстр, так как все данные локальны.
- Надежность. База строго соблюдает принципы ACID. Риск повреждения данных минимален.
Когда переходить на MySQL?Ограничение: SQLite лучше подходит для проектов с малым количеством одновременных потоков на запись. SQLite допускает множественное чтение, но только одну запись в один момент времени (последовательная запись).
MySQL — решение для сложных и высоконагруженных проектов.
Выбирайте MySQL, если:
- Шаблон работает в 10+ потоков. MySQL эффективно обрабатывает concurrent-операции записи и чтения.
- Вы работаете в команде. Несколько шаблонов или пользователей должны собирать данные в одну базу.
- Данные нужны другим сервисам. К вашей БД может подключаться не только ZennoPoster, но и ваш сайт или приложение.
- Работаете с большими данными. Для проектов с десятками миллионов записей и сложными запросами.
Итог: Что выбрать?Минус MySQL: требует установки, настройки сервера и менее портативен.
- Начинайте с SQLite. Если вы новичок в БД и ваш проект работает на одном компьютере, вы получите 90% преимуществ с 10% усилий.
- Переходите на MySQL, когда упретесь в ограничения. Когда шаблону потребуется масштабирование на десятки потоков или централизованное хранилище для нескольких ПК.
|
Во втором режиме создаем таблицу с необходимыми нам параметрами, если необходимо несколько таблиц - повторяем работу во втором режиме нужное количество раз. По окончании наша база готова к работе.
|
Как составить описание таблицы:
id,INTEGER,PRIMARY KEY AUTOINCREMENT
name,TEXT,NOT NULL
email,TEXT,UNIQUE
age,INTEGER
url,TEXT,NOT NULL
name,TEXT,NOT NULL
email,TEXT,UNIQUE
age,INTEGER
url,TEXT,NOT NULL
Разделитель: запятая.
Первое значение - название столбца (id, name, email, age, url)
Второе значение - типы данных
- INTEGER - целые числа
- TEXT - текст/строки
- REAL - дробные числа
- BLOB - бинарные данные
- NUMERIC - числовые данные
- BOOLEAN - логические значения
- PRIMARY KEY - первичный ключ
- AUTOINCREMENT - автоинкремент (только для INTEGER)
- NOT NULL - обязательное поле
- UNIQUE - уникальные значения
- DEFAULT значение - значение по умолчанию
- CHECK(условие) - проверка условий
Прежде чем использовать шаблон, необходимо cкопировать файл
System.Data.SQLite.dll в папку ExternalAssemblies вашего ZennoPoster.
Файл System.Data.SQLite.dll лежит в архиве.
Вложения
-
125,3 КБ Просмотры: 11
Последнее редактирование:

