@dba_ru

Страница 4 из 718
Dan
02.05.2016
10:33:13
Я продублирую свой вопрос из группы девопсов тут, так как возможно не все из вас девопсы, но возможно вы знаете как побороть вот это: Коллеги. Мне прислали sql файл, дамп mysql базы. Из-за битого файла настроек mysqldump снял базу видимо не в том виде, в котором нужно. Поэтому русские буквы - "????". Исходника больше не существует, а дамп нужно поднять. При поднятии на первый взгляд всё консистентно, но нет ни единой русской буквы. iconv не помогает, мне вообще кажется что дело гиблое, тем не менее, мало ли кто с этим сталкивался, и как вопрос решался?

Алексей
02.05.2016
10:42:31
Может оно обфусцировано так?

Google
Vadim
02.05.2016
10:45:19
99%, что проблема в этом

Dan
02.05.2016
10:48:42
спасибо за рекомендации ?

Architector
02.05.2016
11:22:21
Если в файле дампа вопросы - то как не выкручивайся, получишь только вопросы. Тк в дампе вопросительные знаки :) Мировая наука пока не придумала как из вопросительных знаков восстанавливать русский или любой другой текст.

Но если вопросы в базе, а в дампе не вопросы - совет выше может помочь.

Alexandr
04.05.2016
12:45:11
При запуске утилиты pg_test_fsync выдает следующий результат

Ops/sec это операций в секунду, а users/op это что такое?

Сервер ( 8 vcpu , 16 GB RAM)

Почему такие маленькие результаты ( сервер подключен к схд)

Dmitry
04.05.2016
12:51:48
Почему такие маленькие результаты ( сервер подключен к схд)
Смотрите параметры wal_sync_method и commit_delay. Как следует из документации, эта утилита помогает выбрать значение wal_sync_method.

По умолчанию, время работы теста 5 секунд, попрбуйте увеличить это значение.

Alexandr
06.05.2016
09:31:19
здравствуйте коллеги, вопрос у меня возник. Кто то пробовал выносить журнал pg_clog и pg_xlog на отдельный раздел tmpfs? Сильно ли я рискую если все эти журналы будут храниться в ram?

Google
Stas
06.05.2016
09:36:44
Более того, tablespace выносить в рам это может быть и плохо, но выносить в память clog и xlog это ололо. Нельзя ни в коем случае, без этих данных база станет нечитаема

присутствие букв l o g в названии не значит, что это что-то не важное

Dmitry
06.05.2016
09:38:43
в случае с бд уж точно ))

Architector
06.05.2016
09:40:16
такое даже mysql делать нельзя ))

Alexandr
06.05.2016
09:41:55
Спасибо коллеги за наставление

Dmitry
10.05.2016
06:55:41
господа, думаю на мускуле переходить с statement на raw

какие там подводные камни?

репликацию я имею ввиду

Architector
10.05.2016
07:53:33
есть отсутствие камней с фильтрами базы/таблицы, и нужно учесть что на слейвах перестанут работать триггеры

И если у вас не роу, то скорее всего база не консистентна.

Dmitry
10.05.2016
07:54:14
с тригерами понятно - их там и нет

собственно почему и хочется raw

Architector
10.05.2016
07:55:30
Удивляет что вы не перешли. У вас старый mysql?

Dmitry
10.05.2016
07:56:04
где-то есть, но это поправимо

Paul
10.05.2016
10:40:45
собственно почему и хочется raw
собственно именно по этому не рекомендуется использовать statement :)

Dmitry
10.05.2016
15:03:40
вот еще глупый вопрос

--gtid_mode=ON хорошо же? а то везде написано что это

но не очень понятно почему нужно

Architector
10.05.2016
15:16:12
Это хорошо :)

Google
Dmitry
11.05.2016
12:19:10
я опять с глупыми вопросами. Запилил gtid_mode=ON и ROW репликацию

делаю select count(*) по таблице и имею пару записей разницы

на сервере

это норм?

Architector
11.05.2016
17:27:02
После запила хорошо бы перелить слейв

Dmitry
12.05.2016
07:20:18
да, так все и сделал - выровнялось. Наверное надо было делать select с no_cache

Whore Amazing
12.05.2016
10:11:04
народ, у меня тут вопрос. сильно не бить, я в бд не очень. мне нужно выбрать из таблицы n записей, значение числового поля field которых находятся ближе всех к числу N. я конечно понимаю, что можно сделать select * from table where field > N order by field и срезать уже в коде программы нужное кол-во результатов. но во-первых, это ресурсоемко, т.к. вытаскиваются все записи с field > N, а во-вторых, это работает только в одну сторону, а мне надо и > и <. есть встроенные решения?

Dmitry
12.05.2016
10:12:20
я думаю что в "обычной" бд ты это быстро не сделаешь

Whore Amazing
12.05.2016
10:12:34
что понимается под "обычной"?

Dmitry
12.05.2016
10:13:57
не инмемори

хотя мускул и прочее тоже умеет инмемори

Whore Amazing
12.05.2016
10:14:31
а постгри? и в какую сторону рыть?

Dmitry
12.05.2016
10:15:16
мб смотреть в сторону редиса

или чего-то такого

Whore Amazing
12.05.2016
10:15:38
ээ нее, на другую бд пересаживаться не хочуу

Dmitry
12.05.2016
10:16:27
http://stackoverflow.com/questions/1644063/mysql-select-the-closest-match ну собсна

Whore Amazing
12.05.2016
10:17:20
чет печальненько.

Dmitry
12.05.2016
10:17:31
http://stackoverflow.com/questions/5678010/finding-the-nearest-numeric-match-in-a-database-to-what-a-user-has-inputted-in-p вот еще

я же говорю - это тот инструмент

Whore Amazing
12.05.2016
10:19:37
ну да, я это в вопросе предлагал. там в одну сторону только получится.

Google
Whore Amazing
12.05.2016
10:19:50
придется мастерить гору костылей..

Dmitry
12.05.2016
11:49:17
Я бы смотрел в сторону analitic/window functions. Например cume_dist() постгресовый

http://www.postgresql.org/docs/9.4/static/functions-window.html

http://www.postgresql.org/docs/9.4/static/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS

Whore Amazing
12.05.2016
11:52:47
Limit?
уже говорил, он решает первую проблему, но не вторую

Stas
12.05.2016
11:53:12
Вообще это называется k nearest neighbours, можно в постгресе, смотрите в стоторону типо данных точка или куб

Whore Amazing
12.05.2016
11:53:35
вау. вот спасибо. если действительно можно, это просто замечательно.

Stas
12.05.2016
11:53:47
но это очень сильный перебор для скаляра, просто два запроса с лимитом

Whore Amazing
12.05.2016
11:54:20
не, у меня все не так просто на самом деле.

Stas
12.05.2016
11:55:25
SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;

можете в point первую координату константой оставить, а во вторую значение

тогда даст честных 10 ближайших

Еще есть такая штука для многомерных данных: http://www.postgresql.org/docs/devel/static/cube.html

Whore Amazing
12.05.2016
11:57:48
SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
да, у меня как раз локации, но по двум осям. это как-то сложнее

Stas
12.05.2016
11:58:51
две координаты у точки? расстояние по тереме пифагора?

Whore Amazing
12.05.2016
11:59:05
блин, вот об этом что-то не подумал

Stas
12.05.2016
11:59:17
a <-> b float8 Euclidean distance between a and b. a <#> b float8 Taxicab (L-1 metric) distance between a and b. a <=> b float8 Chebyshev (L-inf metric) distance between a and b.

Страница 4 из 718