|
|
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
Транзакции позволяют записывать данные согласованно (единой операцией в несколько таблиц), что очень полезно. Это плюсик! Бэрон Шварц в книге "MySQL по максимому" (стр 210) приводит схему хранения данных для таблиц InnoDB (с поддержкой транзакций), из которой видно, что для каждой записи в таблице сохраняются идентификаторы транзакий и указатели отката (наверное, чтобы можно было откатить на произвольную точку, не используя бекапы). Но это сильно снижает производительность I/O, и это жирный минус! У меня будет база будет 1 раз заполнена и дальше- только для аналитических чтений, поэтому лишняя инфа о транзакциях абсолютно не нужна. Какие хранилища позволяют получить плюсик от транзакий на этапе загрузки без минусика на этапе анализа данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 09:14 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, а зачем транзакции для одноразовой операции заполнения БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 12:40 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
paverAlekseySQL, а зачем транзакции для одноразовой операции заполнения БД? Чтобы когда я сяду анализировать у меня были согласованные таблицы, а не куча ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 13:11 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLpaverAlekseySQL, а зачем транзакции для одноразовой операции заполнения БД? Чтобы когда я сяду анализировать у меня были согласованные таблицы, а не куча ошибок.Если при загрузке не возникнет ошибок, то таблицы будут согласованные. Если ошибки возникнут, то вам ничего не мешает все стереть и заполнить заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 13:20 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
miksoftЕсли при загрузке не возникнет ошибок, то таблицы будут согласованные. Если ошибки возникнут, то вам ничего не мешает все стереть и заполнить заново. Понятно, что при загрузке я могу добавление в каждую таблицу оборачивать конструкцией try- except (и удалять все добавления для этой одной ЛОГИЧЕСКОЙ записи, если где- то возникла ошибка), но хочется писать более простой код, переложив это на транзакции. А если без транзакций, то Aria? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 13:27 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLБэрон Шварц в книге "MySQL по максимому" (стр 210) о, третье издание перевели и назвали оригинально. пришло время поднять чорный флаг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 13:43 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLдля каждой записи в таблице сохраняются идентификаторы транзакий и указатели отката (наверное, чтобы можно было откатить на произвольную точку, не используя бекапы). Но это сильно снижает производительность I/O, и это жирный минус! Все так. Но в эпоху банковских транзакций это считалось нормальным. Да, альтернатива aria, она же myisam. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 13:52 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLПонятно, что при загрузке я могу добавление в каждую таблицу оборачивать конструкцией try- except (и удалять все добавления для этой одной ЛОГИЧЕСКОЙ записи, если где- то возникла ошибка), но хочется писать более простой код, переложив это на транзакции.Ну так заливай в InnoDB или иную транзакционку, а потом ALTER TABLE и смени движок на MyISAM... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 15:32 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
Набрызг-Бетон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). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 21:20 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLхочется писать более простой кодЕсли исходные данные в плоских файлах, то что может быть проще (и, попутно, быстрее) вызова утилиты mysqlimport? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 21:22 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
miksoftAlekseySQLхочется писать более простой кодЕсли исходные данные в плоских файлах, то что может быть проще (и, попутно, быстрее) вызова утилиты mysqlimport? Данные будут получаться из интернета, так что не прокатит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 23:37 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLДанные будут получаться из интернетаТогда пишите в InnoDB, а потом переливайте в MyISAM. Только лучше не ALTER-ом, а INSERT ... SELECT ..., чтобы оригинал не испортить. Причем имеет смысл потестить конкретные выборки в InnoDB. Не исключено, что на нем быстрее окажутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 00:03 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLmiksoftпропущено... Если исходные данные в плоских файлах, то что может быть проще (и, попутно, быстрее) вызова утилиты mysqlimport? Данные будут получаться из интернета, так что не прокатит. Коллега, Вы ощущаете разницу между "У меня будет база будет 1 раз заполнена" или "у меня база будет перезаполняться столько раз из интернета, пока не будет очищена от мусора, а затем правильные данные будут зафиксированы - и начнется исключительно чтение для аналитики"? Ставьте clickhouse для аналитики в пару к staging прослойке на mysql. Будет потрясающий I/O. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 00:28 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
miksoftAlekseySQLДанные будут получаться из интернетаТогда пишите в InnoDB, а потом переливайте в MyISAM. Только лучше не ALTER-ом, а INSERT ... SELECT ..., чтобы оригинал не испортить. Причем имеет смысл потестить конкретные выборки в InnoDB. Не исключено, что на нем быстрее окажутся. Спасибо, но база будет очень большая ~400ГБ и хочется сэкономить на месте и времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 02:02 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPКоллега, Вы ощущаете разницу между "У меня будет база будет 1 раз заполнена" или "у меня база будет перезаполняться столько раз из интернета, пока не будет очищена от мусора, а затем правильные данные будут зафиксированы - и начнется исключительно чтение для аналитики"? Ставьте clickhouse для аналитики в пару к staging прослойке на mysql. Будет потрясающий I/O. Не понял как вы получили вторую альтернативу в первом абзаце, а второй абзац целиком для меня остался загадкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 02:05 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLбаза будет очень большая ~400ГБ и хочется сэкономить на месте и времени.что такое база? и что будет из интернета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 09:43 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
вадяAlekseySQLбаза будет очень большая ~400ГБ и хочется сэкономить на месте и времени.что такое база? и что будет из интернета? Скрапинг vk. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 10:20 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLAndy_OLAPКоллега, Вы ощущаете разницу между "У меня будет база будет 1 раз заполнена" или "у меня база будет перезаполняться столько раз из интернета, пока не будет очищена от мусора, а затем правильные данные будут зафиксированы - и начнется исключительно чтение для аналитики"? Ставьте clickhouse для аналитики в пару к staging прослойке на mysql. Будет потрясающий I/O. Не понял как вы получили вторую альтернативу в первом абзаце, а второй абзац целиком для меня остался загадкой. Ой-вей, ну что Вы пытаетесь приспособить mysql как большое хранилище, используйте как хранилище для аналитики специально приспособленную под нее базу типа Yandex ClickHouse, а mysql используйте как опорное хранилище справочников и транзитное хранилище фактов. Сграбили из социальной сети, обработали внутри mysql, получили очередной плоский кусок большой таблицы - отправили в кликхаус. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 14:12 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPОй-вей, ну что Вы пытаетесь приспособить mysql как большое хранилище, используйте как хранилище для аналитики специально приспособленную под нее базу типа Yandex ClickHouse, а mysql используйте как опорное хранилище справочников и транзитное хранилище фактов. Сграбили из социальной сети, обработали внутри mysql, получили очередной плоский кусок большой таблицы - отправили в кликхаус. Ок, обдумаю ваше предложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 15:47 |
|
||
|
Есть хранилище с транзакциями, но без лишних полей?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPОй-вей, ну что Вы пытаетесь приспособить mysql как большое хранилище, используйте как хранилище для аналитики специально приспособленную под нее базу типа Yandex ClickHouse, а mysql используйте как опорное хранилище справочников и транзитное хранилище фактов. Сграбили из социальной сети, обработали внутри mysql, получили очередной плоский кусок большой таблицы - отправили в кликхаус. Посмотрел на их рекламу: все выглядит достойно. А у вас есть собственный практический опыт работы с этой БД? Если да, то можете написать свое ощущение от нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 09:18 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=47&tid=1829597]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 162ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...