All streams
Search
Write a publication
Pull to refresh
76
0
Журавлёв Юрий @stalkerg

Разработчик

Send message
Но такой подход совершенно не подходит для публичного веба и больших нагрузок т.к. там везде Linux и другие стеки технологий. ;)

Desktop'ное приложение — пожалуйста, получите WinForms\WPF

На моём десктопе это не заработает. ;) (у меня Линуксы и одна МакОСь)

Это я к тому, что:

То, что в программировании сейчас целый зоопарк технологий — бесспорно, но лично я стараюсь особо не привязываться к ним

Привязав себя к совершенно не гибким технологиям одного вендора. (вендорлокинг)
А еще есть C#, который тоже сильно проще С++

Ага, а документация по нему в 3 раза больше страниц. Не уверен, что C++ проще к тому же сейчас в С++ то же много приятных и простых плюшек для начинающих. :)
Реальная B-Tree с конкурентностью это АДъ адищенский, который надо курить несколько месяцев, что бы на половину понять, что происходит. Код Postgres это хорошо иллюстрирует.
Причём тут не учебники надо читать, а последние научные статьи на эту тему и то там многое опущено в плане реализации. >_<
Железо другое.
Дело в том, что под маркой XPS 13 для каждого поколения intel процессоров имеем около 5-8 разных видов ноутбуков.
Внешне они все одинаковые но начинка капитально отличается. Самое чувствительное для Linux это WiFi адаптер и Touchpad (и то как он конкетится).
Версия с Ubuntu имеет специальное железо (linux frendly) + набор пачей от Dell. После покупки моего XPS 13 я ещё несколько месяцев пинал мейнтейнеров, фиксил драйвер touchpad'а, подсветка клавиатуры и т.д. потом благо всё заработало отлично. Но я сижу на Gentoo и часто на релиз кандидатах ядер, обычным юзерам это будет явно трудно.

ЗЫ всё не дойдут руки посмотреть почему системный вызов на опрос скорости вращения вентилятора приводит к фризу системы на секунду.
Клава и адаптер как у моего XPS 13.
По тому как LGPL унаследованный от KHTML.
Или рассказать людям про файлик hosts.
Я не верю, что они правили только фронтенд. Кроме того libc то же никто не открывает.
А что я то? Я точно не гуру. :) Ну а так, конечно LLVM можно хотя и очевидно, что сложнее чем не VLIW.
С другой стороны в LLVM уже есть несколько VLIW архитектур и в последнее время была проделана работа в этом направлении.

Для VLIW нельзя не пилить свой компилятор

Ошибочное утверждение. Хотя конечно с LLVM не всё будет просто.

Меня бесит больше то, что они юзают GPL ный GCC, а исходники не открывают.
Термиты совершенно не муравьи! Они ближе к тараканам.
Но при большой команде, скрам, канбан и все такое, история уходит свободному разработчику, а не «нужному». Скилл у него другой, мышление другое, результат не заставит себя ждать.


Вот по этому я ярый противник этих подходов в разработке. Или как минимум близкое следованием их гайдлайнам.
Все что не специфично, а алгоритм сортировки явно не специфичен ни для какого бизнеса, бизнес-логикой не является.


Ну вот с этим я не согласен. А сортировка строк ФИО по второй букве фамилии то же не будет бизнес логикой (при том, что если буквы совпадают начинается сортировка по имени)?
А сколько вариантов сортировок просто строк где могут быть текст+цифры? Это всё явно бизнес логика и она явно реализуется в контейнере.
Посему я и обычную сортировку чисел, хоть пузырьком хоть qsort так или иначе запишу в бизнес логику… просто с известными оптимальными реализациями.
Легче написать и открыть для Linux. Тогда их поддерживать будет легко. Т.е. если всё же драйвер под Linux открыт и написан, то как правило он живёт пока им вообще кто то пользуется.
Вот в этом вся копирастия, что то похожее было когда пытались вместо АМ, FM внедрить.
надежность и консистентность можно «подкрепить» на уровне приложения

Далеко не всё можно выправить. Вы ведь не будете реализовывать у себя в приложении WAL или Undo логи?
Я вообще не знаю возможностей JSON в PG, потому, что когда мы начинали, никаких таких не было, и даже когда мы запустили в продакшн, тоже.

Я сейчас говорю в разрезе выходя 9.5, а не про 10 лет назад. Как я выше писал, сами монговци предлагают работать поверх Postgres. ;)

Вокруг меня, 99% софта — «трехзвенная архитектура» — клиент напрямую с базой не общается.

Это не отменяет вопроса надёжности и консистентности. Кроме того давайте не путать, напрямую юзер не стучится к БД, но у БД как были клиенты так и есть. :) Кроме того, в том же вебе иначе и не бывает, всегда есть некий программный сервер который обслуживает запросы пользователей и в свою очередь он стучится к БД. Но замечу ещё раз, это никак не влияет на то, что я сказал выше. ORM вообще параллельна всей нашей дискуссии.

отлично, то есть RDBMS рулят и бибикают вокруг денег, и прочих сущностей строгого учета. Ниваропс. Какой процент таких задач?

Ещё раз, они рулят везде где вам будет дорого потерять данные, а это не меньше 90% случаев.
т.е. к примеру у юзера вылезла старая аватарка может и не страшно, а если вы потеряли его сообщение уже может быть очень плохо.

хороший пример, но немного «не в тему».

Мне всё же кажется, ваш пример крайне локальный и редкий, а вы пытаетесь его натянуть на все случаи работы с БД.
То есть небольшие приложения, масштаба SoHo изначально пролетают, да?

Если они не клиент/серверные и на Windows то Postgres думаю не для них.

То, что по столбцу JSON, я не могу фильтрануть «дай мне документы у которых есть some.subdocument.field = „some value“»
Мне не нужно всё делать своими руками, не нужно погружаться в инструмент.

Почему не можете? Можете! И даже индексы на это накинуть. :) Вы просто плохо знаете NoSQL возможности Postgres.

Не знаю, в каком проценте каких задач нужны ACID, MVCC, простите.

Везде где нельзя потерять данные, или где можно потерять консистентность.

ценность ACID, MVCC и прочих базвордов сильно была преувеличена

Тут всё просто:
1. Если пользователь послал сообщение любовное подруге, а система сказала ОК, и тут сервер падает. Вот с Postgres после поднятия БД (если физически данные не похерились) это сообщение будет там лежать. В ваших системах мы можем его потерять. А если это денежный перевод? Короче если вам это не критично, для вас это не самые важные слова.
2. Несколько пользователей решили кинуть деньги на один счёт, если не делать блокировок, итоговая сумма может быть иной. т.е. если вам ненужны транзакции…

Насколько мне известно, не так много use cases где на выше указанные проблемы можно было бы закрыть глаза.

Без разницы какая платформа. «Руками» нужно установить только агента этого самого SaaS.

Я привёл в пример Heroku.
Теперь мой либимое: монга у нас ставится инсталятором, вся от-и-до. Потому, что это тупо один mongod.exe, который даже сам виндовой службой регистрируется. Вкладывание одного исполняемого файла в пакет, заняло ну пару часов.

Я знаю, что можно и PG вложить внутрь и устанавливать автоматически, но сразу на винде начинаются всякие пляски с бубном — где-то ему не нравится русские буквы в «C:\Пользователи\», где-то оно не может получить админские права, где-то еще что-то, в зависимости от версии виндовса, и его русскости. Регулярно инженер при установке какие-то нюансы выгребает.


Простите, но всё то, что я писал выше было серверное применение СУБД где 80% Unix. То, что вы пишете выше, это Embended использование. И тут MongoDB наверное не плохо смотрится на фоне SQLite или MySQLEmbended.
Ну и для справедливости, в 9.5 многие выше указанные ошибки в Postgres устранены.

Когда мы решили его переписать, то в монге это одна коллекция.

Что вам мешает сделать таблицу с одним столбцом JSONB?

Я к стати начал понимаю где вы работаете…

На счёт кластеров: мне кажется их сравнивать как тёплое с мягким, у того, что вы привели в пример, нету ни ACID ни MVCС, не очень честное сравнение.

ЗЫ простите, что читаете весь этот диалог, но он всё же интересный. :)
И всё же, ценна входа у Mongo сопоставима с Postgres. Когда начинаются кластеры или большие нагрузки, понятность, документированность и повторяемость явно за Postgres.
есть достаточно много систем с гораздо более пологой кривой «цена входа»

Цена входа в этих системах не так важна, как «цена выхода». Лучше сначала немного поучится чем, потом за голову хвататься, пытаясь перекроить архитектуру.

Information

Rating
Does not participate
Location
Токио, Токио, Япония
Date of birth
Registered
Activity