danforth

danforth
Рейтинг
153
Регистрация
18.12.2015

Не привык торговаться, видимо потому что раньше сам торговал, и не люблю когда сбивают цену. Могу поторговаться если товар б/у и нужен ремонт или обслуживание какой-то части, но в целом ок. Свой торг всегда обосновываю. Или прям если очень хочеться купить, но не хватает немного. Но на большие суммы скидку никогда не просил. Больше всего не понимаю дебилов, которые могут при цене грубо говоря в 1000 сказать "За 300 заберу". Бери конечно, но не у меня.

melkozaur:
А пикабу - тоже кстати диагноз.

Два чая этому господину.

Ну правильно, выше сделайте set $noname dram;

Не сочтите за грубость, но во-первых, учитесь читать логи, во-вторых, учитесь гуглить (желательно на английском языке). Вы же на форуме поисковых систем. Это очень полезные навыки, которые экономят время.

edogs, не-не, религиозный фанатизм это не про меня. Я придерживаюсь мировой практики в разработке, знаю что такое trade off при выборе какого-то инструмента. Я привел вам доводы, почему InnoDB лучше в данном случае. От вас я пока услышал только вот это:

edogs:
при небольшом сбое
edogs:
при среднем
edogs:
при крупном
edogs:
innodb неплох, но в сравнении с myisam может быть тормознее на относительно простых запросах.

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

Ну и NoSQL вы предложили, не я, так что с религиозным фанатизмом вы явно не по адресу.

Когда приведете хоть один довод, почему MyISAM в данном случае лучше, тогда и будет вам

edogs:
разобраться в вопросе
edogs:
Для задач ТС - по фиг.

Бггг, ну и бред. Т.е., берем любую TSDB и пишем туда. Отличный совет. Уже на этом можно прекращать дискуссию, но ладно.

edogs:
Нет.

Да.

edogs:
при небольшом сбое ничего не будет, при среднем - майисаму понадобится репаир тейбл и все на этом, при крупном - иннобд умрет а майисам потеряет часть данных.

Это прямо из документации вырезка.

edogs:
И не забывайте какой размер логов бинарных транзакций будет на базе размером в 500гб.

Какой, если я их отключу, а буду использовать redo log из InnoDB?

  • Table level locking
  • Не ACID compliant
  • Не умеет самовосстанавливаться, если упадет ночью - будет простой
  • Глобальный лок при бекапе (логическом и физическом), когда будете делать бекап - позовите меня, посмотрю как все ждут когда бекап базы на 500 гб закончится.
edogs:
https://www.percona.com/blog/2009/01...sam-to-innodb/ до сих пор актуальная статья.

Да, как и все другие статьи вышедшие 10 лет назад.

Я бы ещё понял если бы вы посоветовали использовать MyISAM под табличку которая никогда не изменяется, используется под read-only, и в ней 500 не важных строк.

Ладно, не хочу время тратить на этот бессмысленный спор. Используйте и дальше MyISAM, пока его не выкинут из MySQL.

edogs:
Без проблем, хотя nosql база данных при таком объеме будет лучше.

Когда пишете NoSQL, пишите какая именно. Бывают варианты для полностью противоположных задач.

edogs:
2) Плохая идея. json / генерируемые столбцы хранятся виртуально, а не реально физически. И несмотря на возможность индексации - поиск по ним будет достаточно тормозным.

На самом деле, в некоторых случаях поиск по JSON даже быстрее, чем по реляционной модели.

edogs:
Если сможете нормализовать данные - будет вообще шикарно, но это как бы и так очевидно.

Я так понял, там особо нечего нормализовать. Есть какой-то идентификатор, и куча байт которые нужно вернуть.

edogs:
но обратите внимание на myisam вариант. innodb неплох, но в сравнении с myisam может быть тормознее на относительно простых запросах.

Да, действительно, обратите внимание на движок, который при малейшем сбои может покорраптить все таблицы. Приведите примеры, на каких запросах может быть тормознее (кроме COUNT(*))

foxi:
А по поводу объема, если поиск по этим текстам не нужен и все запросы по id , то текст (json) должен отлично сжиматься через gzdeflate, если текста в каждой ячейке много.

Кстати, да. Но если нужно сжатие, я бы взял MyRocks, мы так одну базу до 400Гб ужали (с 1Тб)

Сейчас вот как раз есть одна толстая таблица на почти 3 млрд строк:

SELECT table_rows FROM information_schema.tables WHERE table_name = 'my_table_name';

+------------+
| table_rows |
+------------+
| 2795222610 |

А вот время выборки по PK:

379 rows in set (0.017 sec)

Таблица без партиций, кстати. Можно сделать PARTITION BY HASH(col) PARTITIONS 20; и будет все ещё быстрее работать

urite:
Clickhouse может подойти. 1Тб там это нормальное количество. Если кеш нужно чистить по дням, например удалить все старше 30 дней то тут подойдут подневные партиции (по умолчанию там месяц кажется).

Clickhouse не про это, она коллоночная база данных, она скорее про аггрегацию значений и постоянную запись, и про всякие паттерны 3д кубов и прочего. Это OLAP, автору на сколько я понял нужно OLTP.

Зачем вам JSON тип? Вы по нему искать собираетесь? Если да, то лучше PostgreSQL, или на крайняк Mongo. Если искать по JSON нет нужды - берите любую СУБД, поиску присваиваете идентификатор, JSON не храните в типе JSON, т.к. там валидация происходит. Просто берите BLOB и храните массив байт.

На счет справится/не справится, справится и с бОльшим количеством. Делаете партиции и все будет работать вполне себе.

А вообще, структура ваших данных и необходимые выборки до конца не ясны.

Hypermetrica:
Если это вопрос был адресован к нам, то наше решение ничем не лучше, просто нам так удобнее, вся информация в одном месте =)
P.S. Пожалуйста, цитируйте сообщения.

Это к ТСу было.

urite:
Второй момент, пока платных тарифов не планируется, а у Uptimerobot, HostTracker все это в платных тарифах.

На самом деле, я бы не делал ставку на "бесплатную модель". Вам нужно иметь много VPS разнесенных по миру, чтобы проверять доступность. Но дело ваше. Если руки чешуться - то можно и сделать. Опыт в любом случае получите.

Sim:
Оно-то, конешно. Но крутить как? невозможно же!

Ну тяжеловато, да, на дальняки не подходит, но мы пока на дальняки не ездим особо. Если нужно - я поднимаю седло в верх чтобы нога почти полностью выпрямлялась.

Всего: 1540