Здравствуйте, vdimas, Вы писали:
MTD>>Я не понимаю, ты же сам пишешь, что на сервере уже все типизировано.
V>Но язык доступа динамически типизированный.
С++ тоже динамически типизирован? Он же читает байты из сокета или файла, например.
V>>>Это приведёт к еще одной разновидности оптимизации — повторному использованию кода, бо "тип" может быть отделён от "экземпляра", что тоже кардинально развяжет руки разработчикам. Потому что "мыслить категориями доменов" уместно далеко не во всех сценариях вокруг хранения данных. Я бы даже предположил — в подавляющем меньшинстве их.
MTD>>Пример?
V>Кучи хранилищ данных с одинаковой разметкой таблиц.
V>Или кучи таблиц с одинаковой разметкой внутри одного хранилища.
Так уже. Или пример я не понял.
V>>>1. Типобезопасность, помощь со стороны компилятора;
V>>>2. Мощные, выразительные ср-ва языка;
V>>>3. Оптимизация, выкидывание лишних артефактов и лишних телодвижений;
MTD>>А чего из перечисленного нет в Фортране?
V>1, 2
V>Система типов убогая.
Что не так?
V>>>В итоге — готовность работать с современными гигабитными сетками.
V>>>Мейнстримовые БД с такими сетками работать де-факто не готовы.
MTD>>А все эти петабайты данных из астрала что-ли берутся?
V>С нормальной скоростью они только через bulk залетают.
Ты снова не конкретен. Если речь о трупут, то справедливо вообще для всего, от ОЗУ до дисков групировать маленькие порции и вываливать все сразу. Если о латенси, то bulk будет вреден. Кстати, ты слился с вопросом про производительность БД, а я так ждал.
V>>>Сам я последние много лет работаю именно с протоколами удалённого доступа к данным.
V>>>Средний современный roundtrip (вопрос-ответ) составляет единицы микросекунд или единицы десятков их.
MTD>>Это булшит.
V>Сразу досвидан. ))
Но это в самом деле булшит.
V>>>Поэтому, мне ОЧЕНЬ сложно участвовать в обсуждениях вокруг БД, где основными аргументами являются примерно такие: "да там всё равно СТОЛЬКО НАКЛАДНЫХ РАСХОДОВ, что экономить на спичках смысла нет".
MTD>>Я такое говорил? Нет? А к чему ты это написал?
V>Потому что это основной и единственный аргумент в обсуждениях такого рода.
Но я же это не говорил. Зачем ты мне это приписал? Ай, ай, некрасиво.
V>>>Современные технологии как сетки, так и технологии работы БД с данными (особенно после "разогрева" с учётом нынешних чудовищных размеров оперативки) таковы, что основные тормоза приходятся именно на "интерфейсный" уровень БД. Этот уровень затормаживает всю систему в большинстве сценариев на порядок-другой.
MTD>>Это полная чушь или уточни, что ты подразумеваешь под "интерфейсный".
V>Это весь комплекс телодвижений по вводу запроса и выводу результата.
Давай конкретику, твое бла-бла-бла наводит на мысль, что в твоей голове кроме лозунгов ничего нет.
V>>>>>В выразительных возможностях языка, в системе типов, в завязанной на этих моментах оссобеностях транспортного и прикладного уровня протоколов общения с БД и ничтожной в итоге эффективности всей системы.
MTD>>>>Опять бла-бла-бла. Конкретней.
V>>>Это было более чем конкретно.
MTD>>Нет — это бла-бла-бла.
V>Это через запятую перечислены ключевые моменты.
V>Спорь с этими моментами или слил.
Спорить с чем? Давай конкретные тезисы, а не бла-бла-бла.
V>>>Я говорил о языке (или языках, не суть), предназначенном для обработки данных и инфраструктуре вокруг этого языка.
MTD>>Ну вот и говори про него, пока ничего конкретного не сказал.
V>Сказано было достаточно — динамика vs статика.
И? Разверни мысль.
V>>>Зачем нужна метаинформация в случае динамической типизации я объяснять не буду.
V>>>Это хорошо объясняется на всех углах и без меня.
MTD>>А при чем тут языки с динамической типизацией?
V>При языке SQL и формате данных, пересылаемых по сети.
Ничего не понял, ты считаешь, что С++ динамически типизированный язык?
V>>>>>Тезисы я озвучивал — перенос кучи телодвижений из рантайма в компайлтайм.
MTD>>>>Как?
V>>>Как в С++, Java/Net, Swift и т.д.
MTD>>Мы про БД говорим. Как?
V>Мы про реляционную алгебру говорим.
V>Так же.
Ну так как?
V>>>Форматы хранения даных в различных БД открыты, спор ни о чём.
MTD>>Никто не спорит, тебе просто показали, что байты ни про какую типизацию не в курсе.
V>Ты показал невежество.
Я просто задавал вопросы. Ты надувал щеки и лил воду.
V>Как и сообщением раньше:
V>V>Или на примере сокета — ... по дороге это просто байты
V>В оперативной памяти тоже просто байты хранятся.
Молодец. Еще немного и сдвинемся.
V>Соблюдение типизации выражается в правильном интерпретировании этих байт.
Да.
V>Сейчас типизация динамическая, что влечёт за собой дополнительные расходы.
Где? Когда С++ принимает пакет по сети? Ну да, а что делать?
V>Например, на стороне клиента нужно динамически выбрать маппер из типа, хранимого в столбце, в тип переменной, куда это поле читается.
Сто лет такое есть.
V>Там же, на стороне клиента, каждый раз при обращении к клиентскому драйверу при запросе значения некоторого поля текущей записи, драйвер тоже проверит — может ли он преобразовать тип данных в этом поле к запрашиваемому.
Сто лет такое есть.
V>Т.е., мало того, что информация копируется малюсенькими куусочками — по одному значению одного поля каждый раз, так еще вокруг этого миллион телодвижений.
Откуда инфа про маленькие кусочки? Пруф давай.
V>При соблюдении же типизации можно сразу возращать ссылку на типизированное представление строки данных — некую структуру.
В смысле взять структуру и ее бинарное представление сохранить, а потом прочесть и скастить? Не знаешь, почему это плохая идея?
MTD>>Так и в БД все типизировано и не поверишь — там тоже есть оптимизатор. Твои идеи, или просто потрындеть?
V>Пока не разберёшься, чем отличается статическая типизация от динамической — это будет разговор ни о чём.
Так разберись.
V>Я лишь делился наблюдениями из своей предметной области, где зачастую весь прикладной трафик строго-типизированный.
То есть про БД ты ничего не знаешь, но мнение имеешь?
MTD>>По моему ты увлекся беседой с выдуманным собеседником. Может со мной поговоришь? Начни для начала отвечать на заданные вопросы.
V>Твои вопросы не относятся к сути моих предложений от слова никак. ))
Просто они для тебя неудобные, а как взрослый человек поступить ты не в силах.