powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть хранилище с транзакциями, но без лишних полей?
20 сообщений из 20, страница 1 из 1
Есть хранилище с транзакциями, но без лишних полей?
    #39704700
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Транзакции позволяют записывать данные согласованно (единой операцией в несколько таблиц), что очень полезно. Это плюсик!

Бэрон Шварц в книге "MySQL по максимому" (стр 210) приводит схему хранения данных для таблиц InnoDB (с поддержкой транзакций), из которой видно, что для каждой записи в таблице сохраняются идентификаторы транзакий и указатели отката (наверное, чтобы можно было откатить на произвольную точку, не используя бекапы). Но это сильно снижает производительность I/O, и это жирный минус!

У меня будет база будет 1 раз заполнена и дальше- только для аналитических чтений, поэтому лишняя инфа о транзакциях абсолютно не нужна. Какие хранилища позволяют получить плюсик от транзакий на этапе загрузки без минусика на этапе анализа данных?
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39704858
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlekseySQL, а зачем транзакции для одноразовой операции заполнения БД?
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39704887
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paverAlekseySQL, а зачем транзакции для одноразовой операции заполнения БД?

Чтобы когда я сяду анализировать у меня были согласованные таблицы, а не куча ошибок.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39704903
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLpaverAlekseySQL, а зачем транзакции для одноразовой операции заполнения БД?

Чтобы когда я сяду анализировать у меня были согласованные таблицы, а не куча ошибок.Если при загрузке не возникнет ошибок, то таблицы будут согласованные. Если ошибки возникнут, то вам ничего не мешает все стереть и заполнить заново.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39704911
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftЕсли при загрузке не возникнет ошибок, то таблицы будут согласованные. Если ошибки возникнут, то вам ничего не мешает все стереть и заполнить заново.

Понятно, что при загрузке я могу добавление в каждую таблицу оборачивать конструкцией try- except (и удалять все добавления для этой одной ЛОГИЧЕСКОЙ записи, если где- то возникла ошибка), но хочется писать более простой код, переложив это на транзакции.

А если без транзакций, то Aria?
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39704937
Набрызг-Бетон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLБэрон Шварц в книге "MySQL по максимому" (стр 210)

о, третье издание перевели и назвали оригинально.
пришло время поднять чорный флаг
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39704943
Набрызг-Бетон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLдля каждой записи в таблице сохраняются идентификаторы транзакий и указатели отката (наверное, чтобы можно было откатить на произвольную точку, не используя бекапы). Но это сильно снижает производительность I/O, и это жирный минус!

Все так. Но в эпоху банковских транзакций это считалось нормальным.

Да, альтернатива aria, она же myisam.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705061
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLПонятно, что при загрузке я могу добавление в каждую таблицу оборачивать конструкцией try- except (и удалять все добавления для этой одной ЛОГИЧЕСКОЙ записи, если где- то возникла ошибка), но хочется писать более простой код, переложив это на транзакции.Ну так заливай в InnoDB или иную транзакционку, а потом ALTER TABLE и смени движок на MyISAM...
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705249
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набрызг-Бетонaria, она же myisamНе совсем.
https://mariadb.com/kb/en/library/aria-faq/ Disadvantages of Aria compared to MyISAM
Aria doesn't support INSERT DELAYED.
Aria does not support multiple key caches.
Storage of very small rows (< 25 bytes) are not efficient for PAGE format.
MERGE tables don't support Aria (should be very easy to add later).
Aria data pages in block format have an overhead of 10 bytes/page and 5 bytes/row. Transaction and multiple concurrent-writer support will use an extra overhead of 7 bytes for new rows, 14 bytes for deleted rows and 0 bytes for old compacted rows.
No external locking (MyISAM has external locking, but this is a rarely used feature).
Aria has one page size for both index and data (defined when Aria is used the first time). MyISAM supports different page sizes per index.
Small overhead (15 bytes) per index page.
Aria doesn't support MySQL internal RAID (disabled in MyISAM too, it's a deprecated feature).
Minimum data file size for PAGE format is 16K (with 8K pages).
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705251
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLхочется писать более простой кодЕсли исходные данные в плоских файлах, то что может быть проще (и, попутно, быстрее) вызова утилиты mysqlimport?
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705293
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftAlekseySQLхочется писать более простой кодЕсли исходные данные в плоских файлах, то что может быть проще (и, попутно, быстрее) вызова утилиты mysqlimport?

Данные будут получаться из интернета, так что не прокатит.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705301
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLДанные будут получаться из интернетаТогда пишите в InnoDB, а потом переливайте в MyISAM.
Только лучше не ALTER-ом, а INSERT ... SELECT ..., чтобы оригинал не испортить.

Причем имеет смысл потестить конкретные выборки в InnoDB. Не исключено, что на нем быстрее окажутся.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705309
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLmiksoftпропущено...
Если исходные данные в плоских файлах, то что может быть проще (и, попутно, быстрее) вызова утилиты mysqlimport?

Данные будут получаться из интернета, так что не прокатит.
Коллега, Вы ощущаете разницу между "У меня будет база будет 1 раз заполнена" или "у меня база будет перезаполняться столько раз из интернета, пока не будет очищена от мусора, а затем правильные данные будут зафиксированы - и начнется исключительно чтение для аналитики"?
Ставьте clickhouse для аналитики в пару к staging прослойке на mysql. Будет потрясающий I/O.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705325
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftAlekseySQLДанные будут получаться из интернетаТогда пишите в InnoDB, а потом переливайте в MyISAM.
Только лучше не ALTER-ом, а INSERT ... SELECT ..., чтобы оригинал не испортить.

Причем имеет смысл потестить конкретные выборки в InnoDB. Не исключено, что на нем быстрее окажутся.

Спасибо, но база будет очень большая ~400ГБ и хочется сэкономить на месте и времени.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705327
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAPКоллега, Вы ощущаете разницу между "У меня будет база будет 1 раз заполнена" или "у меня база будет перезаполняться столько раз из интернета, пока не будет очищена от мусора, а затем правильные данные будут зафиксированы - и начнется исключительно чтение для аналитики"?
Ставьте clickhouse для аналитики в пару к staging прослойке на mysql. Будет потрясающий I/O.

Не понял как вы получили вторую альтернативу в первом абзаце, а второй абзац целиком для меня остался загадкой.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705417
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLбаза будет очень большая ~400ГБ и хочется сэкономить на месте и времени.что такое база? и что будет из интернета?
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705449
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяAlekseySQLбаза будет очень большая ~400ГБ и хочется сэкономить на месте и времени.что такое база? и что будет из интернета?

Скрапинг vk.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705628
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLAndy_OLAPКоллега, Вы ощущаете разницу между "У меня будет база будет 1 раз заполнена" или "у меня база будет перезаполняться столько раз из интернета, пока не будет очищена от мусора, а затем правильные данные будут зафиксированы - и начнется исключительно чтение для аналитики"?
Ставьте clickhouse для аналитики в пару к staging прослойке на mysql. Будет потрясающий I/O.

Не понял как вы получили вторую альтернативу в первом абзаце, а второй абзац целиком для меня остался загадкой.
Ой-вей, ну что Вы пытаетесь приспособить mysql как большое хранилище, используйте как хранилище для аналитики специально приспособленную под нее базу типа Yandex ClickHouse, а mysql используйте как опорное хранилище справочников и транзитное хранилище фактов. Сграбили из социальной сети, обработали внутри mysql, получили очередной плоский кусок большой таблицы - отправили в кликхаус.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705689
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAPОй-вей, ну что Вы пытаетесь приспособить mysql как большое хранилище, используйте как хранилище для аналитики специально приспособленную под нее базу типа Yandex ClickHouse, а mysql используйте как опорное хранилище справочников и транзитное хранилище фактов. Сграбили из социальной сети, обработали внутри mysql, получили очередной плоский кусок большой таблицы - отправили в кликхаус.

Ок, обдумаю ваше предложение.
...
Рейтинг: 0 / 0
Есть хранилище с транзакциями, но без лишних полей?
    #39705966
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAPОй-вей, ну что Вы пытаетесь приспособить mysql как большое хранилище, используйте как хранилище для аналитики специально приспособленную под нее базу типа Yandex ClickHouse, а mysql используйте как опорное хранилище справочников и транзитное хранилище фактов. Сграбили из социальной сети, обработали внутри mysql, получили очередной плоский кусок большой таблицы - отправили в кликхаус.

Посмотрел на их рекламу: все выглядит достойно. А у вас есть собственный практический опыт работы с этой БД? Если да, то можете написать свое ощущение от нее?
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть хранилище с транзакциями, но без лишних полей?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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