@dba_ru

Страница 262 из 718
Simon
30.09.2017
20:45:56
Так вот никогда недостатка не испытвал... Поэтому и удивлен.

Vladislav
30.09.2017
20:46:23
Работу ради денег найти не проблема, вот только нужна ли такая работа, особенно на фоне фразы про крепостное право?

Google
Vladislav
30.09.2017
21:10:43
мне так видится что мы наблюдаем товарища без опыта.
Почему то такое же ощущение возникло ?

Al
30.09.2017
21:11:20
Почему то такое же ощущение возникло ?
потому что по его словам фигли там искать ту работу

Vladislav
30.09.2017
21:13:31
о расказывай че за работа?
Если вкратце, то я наконец покину телеком и попаду в интернет сферу. И мне предложили что-то из серии dwh devops с интересной архитектурой. На текущий момент меня очень заинтересовал масштабный опыт по CI/CD для баз ?

Vladislav
30.09.2017
21:15:36
В большинстве своем да

Ruslan
30.09.2017
21:15:49
Тинькофф?

Vladislav
30.09.2017
21:16:04
Нет

В тинькофф у меня было собеседование, но искали они немного другого человека...

Ruslan
30.09.2017
21:16:38
У них подобных вакансий как грибов после дождя

Vladislav
30.09.2017
21:17:51
Вроде в августе у них был, они искали больше каких-то через чур универсалов, где надо и менеджером быть и прототипы писать, а базы там сбоку для галочки

Al
30.09.2017
21:23:14
В большинстве своем да
имеешь в виду что когда делали его биллинг рукажопы то совсем даже и весело?

Vladislav
30.09.2017
21:24:20
Нет, весело сначало, когда с нуля поднял им аналитику и отчетность. А теперь там рутина и разгребания гемороя от последствий разработки в биллинге

Google
Al
30.09.2017
21:46:23
А ради чего ещё работать, кроме не как ради денег?
ИТ и ради денег? не делай мне смешно. смех один а не зарплаты

Simon
30.09.2017
21:48:59
Al
30.09.2017
21:58:52
Ну тут всё строго индивидуально.
я понятия не имею где что индивидуально. везде где я был все очень строго. никто индивидуальных зарплат не назначает. везде в среднем по рынку, как принято

Simon
30.09.2017
22:00:33
Ясно, понятно.

Al
30.09.2017
22:04:41
исключение могут составлять какие то очень узкие специалисты в какой то страшно узкой щели.. но как правило такие специалисты нужны в очень небольшом списке контор и они все друг друга знают. и искать работу такой специалист будет годами

Roman
01.10.2017
10:51:33
Ребят, а как предотвращается lost update problem в MariaDB? Загуглил, но не понял до конца, ведь транзакции же от них не спасают? Транзакции насколько мне известно обеспечивают лишь согласованность записи, атомарное изменение, верно?

Roman
01.10.2017
10:57:26
любым уровнем изоляции эта проблема предотвращается
Самый банальный метод который приходит мне спонтанно в голову: mutex lock, заблокировать БД даже для чтения для определённых операций которые требуют полной согласованности, в случае когда lost update критичен

lost
01.10.2017
10:58:08
у тебя будет exclusive lock на обновляемую строку до коммита

почитай про менеджер блокировок в mariadb, я не думаю что он будет существенно отличаться от оного в mysql, ибо те же яйца, только в профиль

lost
01.10.2017
10:59:46
у тебя движок mvcc

он все операции делает в транзакциях

Ilia
02.10.2017
07:00:20
любым уровнем изоляции эта проблема предотвращается
так даже больше. Нет такого уровня изоляции, где был бы lost update

но это к транзакциям не относится, так ведь?
Это к транзакциям относится напрямую — это их реализация

Ребят, а как предотвращается lost update problem в MariaDB? Загуглил, но не понял до конца, ведь транзакции же от них не спасают? Транзакции насколько мне известно обеспечивают лишь согласованность записи, атомарное изменение, верно?
Lost UPdate — это гипотетическая проблема, которая использовалась в частности для критики уровня изоляции snapshot isolation, но её естественно везде с рождения СУБД не допускали.

Roman
02.10.2017
11:21:35
Это к транзакциям относится напрямую — это их реализация
т.е. при открытии транзакции мы можем быть абсолютно уверены что считанные во время проведения транзакции данные будут актуальны до завершения этой транзакции? т.е. вероятность lost update в данном случае полностью исключена?

Ilia
02.10.2017
11:21:59
А, наверное надо сказать про магическую фразу SELECT...FOR UPDATE. Если её использовать для чтения данных, которые затем будут модифицироваться, то -ДА, всё будет ОК

Roman
02.10.2017
11:25:17
А, наверное надо сказать про магическую фразу SELECT...FOR UPDATE. Если её использовать для чтения данных, которые затем будут модифицироваться, то -ДА, всё будет ОК
это если вся логика мутации данных в самом query, что чаще всего не так.. если сначала мы читаем бд, выполняем некую операцию в ОЗУ и мутируем данные во втором query то вероятность lost update высока

Google
Ilia
02.10.2017
11:25:17
Сейчас, я может и чушь понаписал, надо вспомнить, как формулируется проблема lost update...

Или давай лучше так: дай ссылку или напиши, где и как ТЫ прочитал про lost update

Виктор
02.10.2017
11:28:54
Далеко ходить не надо https://drtom.ch/posts/2011/11/12/The_Lost_Update_Problem_-_Part_1/

Roman
02.10.2017
11:30:14
ну... lost update же заключается в том, что у нас конкуррентный доступ к одному ресурсу перезаписывает изменение одного из изменяющих банальный пример: два человека (А и Б) - один счётчик. 1. счётчик находится в состоянии: 4 2. А считывает состояние счётчика, в озу: 4 3. Б считывает состояние счётчика, в озу: 4 4. А добавляет 3 и записывает новое состояние: 7 5. Б добавляет 2 и записывает новое состояние: 6 результат неверный, должно было быть 9, но мутация А была забыта, следственно "lost upate"

насколько мне известно SQL транзакции гарантируют атомарность запистей, либо всё либо ничего, но они не спасают от lost update, верно?

Roman
02.10.2017
11:31:48
Неверно
тогда каким образом транзакции их предотвращают?

Ilia
02.10.2017
11:32:07
Путём выполнения транзакциии..., :-)

Ладно, короче, чтобы не было lost update/write skew ты должен в транзакции читать данные с блокировкой на изменение. Большинство СУБД поддерживает эту операцию через т.н. SELECT ... FOR UPDATE

Roman
02.10.2017
11:34:36
Ilia
02.10.2017
11:35:43
аа, т.е. SELECT FOR UPDATE позволяет заблокировать конкретные ресурсы до момента завершения транзакции, верно?
Да, но только не "заблокировать", а избежать проблем при выполнении транзакций. Это вовсе не означает автоматом какую-то заблокированность записей.

Roman
02.10.2017
11:37:35
для того чтоб в примере что выше не потерять обновления А нужно же заблокировать счётчик, так? Иначе Б не считает новое, обновлённое А состояние а наоборот старое, до транзакции А

Ilia
02.10.2017
11:38:42
Не обязательно. Но пусть ДА.

Можешь думать и так.

Roman
02.10.2017
11:39:14
Не обязательно. Но пусть ДА.
если "не обязательно", тогда мы допускаем lost update problem

как иначе синхронизировать конкуррентные транзакции А и Б?

Ilia
02.10.2017
11:40:11
Что бы не допускать, транзакции должны сериализоваться. Блокировка — один из спрособов сериализовать транзакции. Но не едиснвтенный.

Roman
02.10.2017
11:40:59
Google
Ilia
02.10.2017
11:41:29
Рекомендую почитать статью http://citforum.ru/database/classics/SQL_critiques/#part_1 простая и сразу тебе станет ясно ВСЁ о транзакциях и изоляции.

(лучше найти и читать аналог на английском)

вот я и не понимаю как именно это работает, что именно подразумевает эта "сериализация"?
Сериализация — это упорядочивание транзакций друг за другом. (исключение одновременного выполнения транзакций)

Vitaly
02.10.2017
12:52:43
Добрый день. Такой вопрос. У меня есть таблица с двумя полями, одно из которых булевое, и есть много записей. Только лишь у одной записи это булевое значение имеет другое значение (и всегда так будет). Возможно, есть какой-то более эффективный способ выделить исключительно одну запись среди остальных?

Serg
02.10.2017
12:56:37
создай для нее отдельную таблицу и виши туда эту запись. вообще ТЗ какое-то не полное

Vitaly
02.10.2017
13:00:11
ну, могу пример привести у меня есть таблица со складами и есть таблица с товарами между ними связь many-to-many так вот, один и только один из складов находится при магазине

Ilia
02.10.2017
13:01:59
Ну так сделай ссылку на склад при магазине из магазина. В таблице "магазин" поле с PK склада (FK на таблицу складов)

Vitaly
02.10.2017
13:02:26
у меня нет таблицы магазина :D

Ilia
02.10.2017
13:02:41
Ну, сделай.. :-)

Vitaly
02.10.2017
13:02:45
но можно запилить, это всё равно будет эффективнее, предполагаю

Al
02.10.2017
17:22:49
Если кому интересно могу скинуть линк на свою статью за разработку нового типа обобщения данных

Serg
02.10.2017
17:28:41
очень !

Al
02.10.2017
17:29:31
очень !
“Theoretical Neuroscience.” https://medium.com/@FatRacoon/theoretical-neuroscience-7975868b4566

Alex
02.10.2017
17:43:01
=)

Al
02.10.2017
17:43:30
Все еще имидж эксперта держишь?
Я вообще то предложил теорию. Сделал предположение что вещества вырабатываемые гипоталамусом так же выполняют роль "сигнальной системы" между сетов нейронов. И это определяет сознание. А вот во второй части как раз будет наглядная демонстрация как эта система самоорганизуется. И примеры визуализации из рабочей модели которая начиталась книжек.

Serg
02.10.2017
17:54:29
бесовщина какаято

Al
02.10.2017
17:55:05
бесовщина какаято
Дык работает же. Нужно просто ресурсов больше чем у меня сейчас есть.

Алексей
02.10.2017
18:00:02
А на каких ресурсах сейчас работает, интересно?

Google
Al
02.10.2017
18:01:31
Но там касандра вертится

И она в принципе не сильно нагружена. Нужно сам алгоритм дорабатывать в многопоточный. На 1мегабайт обобщенные данных создается 1 гигабайт логов изменений в базе

В среднем последняя версия читает (обобщает) 1 книгу 800 страниц за 3 часа

Получается нечто навроде очень сильно сжатого архива со 100% востанавливаемостью назад. И при хтом хранится в бд.

Alex
02.10.2017
18:09:20
пошел читать

Алексей
02.10.2017
18:09:26
а что она может делать с той обобщенной информацией, что получает из книг?

Она может разделить понятия - Добрый день! - как приветствие и - Будет готово через день - как интервал времени? Просто никогда не сталкивался в живую с такими системами, но всегда было жутко интересно :)

Al
02.10.2017
18:21:24
Она может разделить понятия - Добрый день! - как приветствие и - Будет готово через день - как интервал времени? Просто никогда не сталкивался в живую с такими системами, но всегда было жутко интересно :)
Она не разделяет понятия. С математической точки зрения это огромное колличество множеств которые полностью или частично принадлежат другим множествам. Во второй части я делаю много примеров со схемами как это взаимодействует. Но если кратко скажем на примере книг. Каждая последующпя прочитанная книга занимает в памяти меньше места. Но при этом сохранчется ее целостность. И можно увидеть общий сюжет в другими книгами. Или составить краткое описание книги через пару запросов в базу. Или скажем если обобщить истории болезней, то система может на базе этого опыта не просто вытащить оптимальный вариант лечения но и обьяснить почему именно он. Да и таких систем насколько я знаю в данный момент всего одна. И она в моем "гараже "

Алексей
02.10.2017
18:25:48
Интересно почитать 2ю часть - как скоро ожидается выход?

Если я правильно понимаю, то это самообучающаяся экспертная система?

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