Перейти к содержимому
Local
Alexey Osipov

Переработка модуля хранения MySQL

Рекомендованные сообщения

...

 

4. detail_stats_MM_YYYY - это такое "ручное секционирование", закат Солнца вручную. Есть более правильные штатные средства секционирования.

Вот. Я тоже думаю, что должнжо же быть что-то предусмотрено. А какие штатные средства?

Думаю что вот эти: http://dev.mysql.com/doc/refman/5.1/en/partitioning.html

 

5. Модуль написан в большей степени на C чем на C++.

Клиентская библиотека MySQL предоставляет C API, а не C++, поэтому я не знаю, как его можно написать "совсем на C++". std::string, как я заметил, там используется. ;)

Ну во первых есть mysql++ (я когда-то давно планировал ее использовать для написания этого плагина), а во вторых... Поменьше использовать указателей и строк типа char *. В общем, пиши как знаешь, а я если что помогу.

 

Предлагаю придерживаться той структуры БД которая используется в mod_store_firebird и mod_store_postgresql. В PostgreSQL более "свежая" структура. Могу дать даже еще более свежую, к оторой я наконец-то решил нормально проблему хранения текущих данных о трафике и помесячных (скорее всего я пока не буду включать ее в rc3 и релиз, но у меня на работе она успешно работает).

Согласен. Давай самую последнюю.

 

...

 

Итого, резюмирую текущий план работ:

  1. Нормальный реконнект (решит проблемы с падениями)
  2. "Прочный" (robust) код (предсказуемая реакция на ошибки)
  3. НФ-3 для схемы БД (+ переход на InnoDB и транзакции)
  4. prepared statements
  5. автоматическое (или автоматизированное) обновление схемы БД

Структуру берешь из rc2 (00-base-00.postgresql.sql), накатываешь на нее первый апдейт (00-alter-01.postgresql.sql - лежит там-же) и второй (01-alter-02.postgresql.sql - во вложении). Это, правда, для postgresql но отличий не так много. Так-же во вложении файлик stg-db-structure.sql - это дамп сруктуры одним файлом. Но т.к. это дамп - читать его несколько сложнее чем рукописный. В pdf-нике с документацией есть ERD для Firebird и пояснения ко всем таблицам. Там структура более старая, но похожа на то что есть. Чуть позже выложу ERD в формате dia для текущей структуры.

К файликам добавил расширение txt, а то не давало загрузить.

01-alter-02.postgresql.sql.txt

stg-db-structure.sql.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

здравствуйте

 

 

подскажите, на сколько сложно будет изменить модуль mysql для работы с таблицами ubillinga, что бы подтягивало адреса, телефоны и т.д. в стандартном конфигураторе =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

здравствуйте

 

 

подскажите, на сколько сложно будет изменить модуль mysql для работы с таблицами ubillinga, что бы подтягивало адреса, телефоны и т.д. в стандартном конфигураторе =)

 

Проще попросить nightfly чтобы он дублировал изменения телефонов и адресов в Stargazer.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как успехи ? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, есть возможность переделать модуль sql , для админ. статистики . пример: Admin 'boba', 192.168.0.10: Add Cash 50 User "vovan': date . (Add user, Add credit ...) Все как stargazer.log?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, есть возможность переделать модуль sql , для админ. статистики . пример: Admin 'boba', 192.168.0.10: Add Cash 50 User "vovan': date . (Add user, Add credit ...) Все как stargazer.log?

Эм... Можно поподробнее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, есть возможность переделать модуль sql , для админ. статистики . пример: Admin 'boba', 192.168.0.10: Add Cash 50 User "vovan': date . (Add user, Add credit ...) Все как stargazer.log?

Эм... Можно поподробнее?

 

все действия админа (пополнение, добаление, кредит, удаление и т.д.) сохранялись в базе ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, есть возможность переделать модуль sql , для админ. статистики . пример: Admin 'boba', 192.168.0.10: Add Cash 50 User "vovan': date . (Add user, Add credit ...) Все как stargazer.log?

Эм... Можно поподробнее?

 

все действия админа (пополнение, добаление, кредит, удаление и т.д.) сохранялись в базе ?

А разве нет? Я не в курсе, это не я писал этот модуль - сторонняя разработка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, есть возможность переделать модуль sql , для админ. статистики . пример: Admin 'boba', 192.168.0.10: Add Cash 50 User "vovan': date . (Add user, Add credit ...) Все как stargazer.log?

Эм... Можно поподробнее?

 

все действия админа (пополнение, добаление, кредит, удаление и т.д.) сохранялись в базе ?

А разве нет? Я не в курсе, это не я писал этот модуль - сторонняя разработка.

 

)))))) в базе нет записей , что админ "Коля" в какое то время и дату сменил, добавил сделал что то с логином "Вася"... но в stargazer.log есть ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

 

)))))) в базе нет записей , что админ "Коля" в какое то время и дату сменил, добавил сделал что то с логином "Вася"... но в stargazer.log есть ?

Я не знаю как там в мускульном модуле (сам по себе он крив и убог (сейчас набегут nightfly :D )), но во всех других плагинах БД есть отдельная таблица хранящая изменения пользователей. В т.ч. "кто", "когда", "кого", "в каком месте", старое и новое значение. В плагинах для FireBird и PostgreSQL эти данные содержатся в таблице tb_params_log. В файловой БД они лежат в файлах log в каталогах с данными юзеров.

Я вот тут сейчас глянул код - нужные вам данные лежат в таблицах с префиксом logs_ в виде тупого текста. Парсить придется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Единственно, какой информации нет в базе, так это информации о том кто когда кого добавил и кто когда кого удалил. Но это как-бы не предусмотрено архитектурно, так что тут так просто ничего не исправишь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

+5 , спасибо! Mysql db export PostgreSQL

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Предлагаю вообще все переписать на БД Oracle

 

Я как специалист по миграции могу это осуществить

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вперед некрофилы, вперед.... :facepalm:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Предлагаю вообще все переписать на БД Oracle

 

Я как специалист по миграции могу это осуществить

Ключевой вопрос: зачем?

<100 абонов - достаточно обычных файлов;

>100 абонов - FireBird;

хочется аналитики - PostgreSQL.

Не понимаю к чему здесь "кровавый энтерпрайз".

Но если очень хочется - пишите еще один модуль.

Хотя я предпочел бы BerkeleyDB (от той-же конторы, к стати).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ога, еще и за лицензию заплати за Oracle))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×