powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Мониторинг изменений в базах данных
25 сообщений из 153, страница 5 из 7
Мониторинг изменений в базах данных
    #39920330
GrossmasteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мух,
Предполагаю, что под "вариациями" подразумевается сделать хотя бы один из пунктов, возможно я ошибаюсь))
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920332
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
Дмитрий Мух,
Предполагаю, что под "вариациями" подразумевается сделать хотя бы один из пунктов, возможно я ошибаюсь))

дак ведь не один из пунктов не сделан
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920333
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,
Вам в шарп ветку.
ТС наконец то начал код писать.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920334
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
дак ведь не один из пунктов не сделан
так это ТЗ ты писал?))))
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920362
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня где-то был исходник CDC который все изменения всех таблиц БД складывает в EAV-табличку.

Могу автору пошарить его.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920369
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
У меня где-то был исходник CDC который все изменения всех таблиц БД складывает в EAV-табличку.
Могу автору пошарить его.

Автор дату как строку пишет, а мы ему счас легаси сунем.
А что это CDC?
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920370
GrossmasteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
GrossmasteR,
С памятью хорошо? Я говорил что один триггер.


Я так понимаю, что должен делать как-то так:
Код: sql
1.
2.
3.
CREATE OR REPLACE TRIGGER UpdateHouseLog
AFTER INSERT OR UPDATE ON houses
BEGIN



В тоже время ведь в SQLite я использую модификаторы OLD для Update (OLD.price, OLD.district...) и NEW для INSERT (NEW.price, NEW.district...). Может быть в SQLite не удастся объединить триггеры?
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920375
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
Может быть в SQLite не удастся объединить триггеры?
не знаю. Он вроде еще до БД не дошел.
Модель таблички рисует.
Это нам тут невтерпёж))
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920390
GrossmasteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,
я так погуглил...
По-моему, вот это об этом, нет?
"...At this time, SQLite supports only FOR EACH ROW triggers, not FOR EACH STATEMENT triggers. Hence, explicitly specifying FOR EACH ROW is optional..."

Судя по всему не поддерживается объединение.

Плюс на счет даты:
"...Как известно, в базе данных SQLite нет типа данных для хранения даты или времени. Предполагается хранить дату и время либо в строковом поле, либо в виде числа, т.е. использовать один из трех вариантов:

TEXT - Для хранения даты/времени в формате "YYYY-MM-DD HH:MM:SS.SSS" (подробнее см.ниже)
REAL - Для записи даты/времени в виде числа - Юлианского дня
INTEGER - Чтобы сохранить дату/время как время Unix (число секунд с 1970-01-01 00:00:00 UTC)..."

Я с тригеррами разбирался по этому мануалу : https://zametkinapolyah.ru/zametki-o-mysql/tema-13-triggery-v-sql-na-primere-bazy-dannyx-sqlite.html#UPDATE_AFTER_UPDATE_BEFORE_UPDATE

Вторую таблицу переименовал в houseLog.

Думаю, с этим ТЗ надо закругляться. Я сделал все на что хватало моего уровня.
Возможно больший смысл имело бы разобраться с этим: "...код должен быть покрыт нагрузочными тестами, приведены оценки планов запроса..." Не представляю, как это сделать
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920394
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR,
Про триггер и формат даты - ОК. Если ты бд такую взял.
А остальные ошибки не исправил дело твоё. Двойка с плюсом.
Модель не рисовал тоже дело твоё.
Устраивайся джуном. Там научат.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920406
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
У меня где-то был исходник CDC который все изменения всех таблиц БД складывает в EAV-табличку.
Могу автору пошарить его.

Автор дату как строку пишет, а мы ему счас легаси сунем.
А что это CDC?

Да сорян. Аббревиатура редкая. Вот тут https://en.wikipedia.org/wiki/Change_data_capture
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920409
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
GrossmasteR
Может быть в SQLite не удастся объединить триггеры?
не знаю. Он вроде еще до БД не дошел.
Модель таблички рисует.
Это нам тут невтерпёж))

А мне вообще плевать на репликацию сердставми чистого PG. Тут уж или покупать коробочное
решение или отказаться от амбиций.

В качестве лирического отступления я просто предлагаю вспомнить старика Эрика Брювера
и поговорить о том какую систему мы строим?

Что будет если между master-slave сеть мигнула? Мы замедлим транзакции в мастере?
Мы будем их буферизировать? Куда? Как долго? Что будет если сеть отсутствовала сутки?
Где хранить изменения по CDC? Как восстанавливать slave после простоя если мы приняли
решение что данные по CDC уже неактуальны? Что будет если мы отказываемся от синхронности?
Бизнес будет с этим ОК? Такие потери возможны для бизнеса в случае временнОго рассогласования
master-slave?

Вот пока мы не ответим на эти вопросы - дизайнить нет смысла.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920413
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Крутая ссылка.
И даже пример картинки Модели есть.
Что очень не любят делат два мембера тут.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920415
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тут уж или покупать коробочное
решение или отказаться от амбиций.
да. Автор выше отказался и четко сказал. Рассматривает одну таблу.
На ТЗ архитектора он не тянет.
А ты предлагаешь поговорить?))
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920421
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Тут уж или покупать коробочное
решение или отказаться от амбиций.
да. Автор выше отказался и четко сказал. Рассматривает одну таблу.
На ТЗ архитектора он не тянет.
А ты предлагаешь поговорить?))

Топик течет как река. И кто запретит нам тут поговорить о том что наболело?
Но если автор будет сильно в обиде - мы уйдем на север в другой топик.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920422
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вот пока мы не ответим на эти вопросы - дизайнить нет смысла.
мое имхо что ТЗ в топике на архитектора или сеньора но без кода.
Просто оговорить на пальцах возможные решения. Их море.
По твоей ссылке море решений.
...
Но автор сказал - на джуна и в банк)))
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920424
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И кто запретит нам тут поговорить о том что наболело?

mayton
Топик течет как река.

Сам ответил. Видно будет.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920438
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Что будет если между master-slave сеть мигнула?
Мы замедлим транзакции в мастере?
Мы будем их буферизировать? Куда? Как долго?
Что будет если сеть отсутствовала сутки?
Поскольку разработка корректного мультимастер-клиента - задача не самая тривиальная, то давайте исходить из простейшего сценария репликации: минимизация простоя.
Если ещё и ставить достижимые задачи, то ведомый имеет право отставать от ведущего. В нормальной ситуации - на минуты, при обрыве связи - на время обрыва.
Куда буферизировать - особого выбора нет: держать изменения только в памяти - так себе решение. В том числе и по соображениям надёжности.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920452
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Что будет если между master-slave сеть мигнула? Мы замедлим транзакции в мастере?
Мы будем их буферизировать? Куда? Как долго? Что будет если сеть отсутствовала сутки?
Где хранить изменения по CDC? Как восстанавливать slave после простоя если мы приняли
решение что данные по CDC уже неактуальны? Что будет если мы отказываемся от синхронности?
Бизнес будет с этим ОК? Такие потери возможны для бизнеса в случае временнОго рассогласования
master-slave?
если про репликацию, то все вопросы решены так же, как в спецификсции javaEE для beans.
Если что... или война, то есть админка админу для разрешения коллизий в очереди.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920462
GrossmasteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вчера все нормально работало.
сегодня создаю таблицу, добавляю в таблицу объект
Код: java
1.
service.insert(new House(0,1,"d", "u"));


id становится "1"
Пытаюсь обновить
Код: java
1.
service.update(new House(1,2,"d2", "u2")); 


получаю exception в этом методе:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 public House update(House house) {
        JdbcTemplate.executeCreateQuery(
                dataSource,
                "UPDATE houses SET price = ?, district = ?, underground = ? WHERE id = ?;",
                pstmt -> {
                    pstmt.setInt(1, house.getPrice());
                    pstmt.setString(2, house.getDistrict());
                    pstmt.setString(3, house.getUnderground());
                    pstmt.setInt(4, house.getId());
                }
        );
        return house;
    }



что изменилось, не пойму
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920464
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR,
Ты не asv79?
Очень похожий стиль работы.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920502
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR

получаю exception в этом методе:

Ты серъезно? Вот мы щас должны включить телепатов и увидеть твой стектрейс.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920512
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно зачем делать объект из класса
GrossmasteR
Код: java
1.
update(new House(1,2,"d2", "u2")); 


Чтобы сразу в стеке ниже из объекта обратно делать простые типы
Код: java
1.
.setInt(1, house.getPrice());
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920513
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Противники ООП пошутят - ООП головного мозга.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39920635
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да тут непричем ООП. Я знавал разных админов и девопсов которые интуитивно подобные проблемы
решали просто глядя в логфайл. И приэтом они нихрена не знали Java. Базовый английский. И понимание
некоторых кодов ошибок БД - всё решало.
...
Рейтинг: 0 / 0
25 сообщений из 153, страница 5 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Мониторинг изменений в базах данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]