Статья интересная. Многое не понял(не мой профиль), но заставило местами пояндексить и почитать глубже. Интересно.
Про neo4j мнение, не критики ради, а мнение моё субъективное.
Может на текущий момент всё иначе(сомневаюсь). Кто-нибудь сравнивал скорость работы в одинаковых условиях neo4j(или иной графовой) с обычной реляционкой?
В году 16 в контору пришёл новый тимлид с пачкой сертификатов и сразу начал продвигать Neo4j как таблетку от всех наших бед. Мы исторически сидели на msmsql как основной СУБД
Я скептически отнёсся к этой теме и мы с коллегой(ну чтобы мой субъективизм кто-то придержал и быстрее тестовую среду создать) для интереса провели эксперимент.
1) Две БД, neo4j и mssql, развёрнутые из коробки методом далее, далее, далее
2) В mssql две таблицы [сущность] и [связь сущности с другой сущностью] + расширенная процедура с алгоритмом Дейкстры на C#(максимально т.е не оптимально по вызовам)
3) Данные одни и те же залиты в обе БД.
Запросы одинаковые c разной глубиной между объектами "Показать связь между объектом A и X".
neo4j стабильно проигрывала по скорости в разы. На тот момент это было ожидаемо, т.к любой граф, ложится на 2 таблицы, а уж математическая скорость работы в реляционных БД рассчитана, доказана и за десятилетия вылизана по скорости. Что могли предложить этому "молодые" СУБД тех лет - не понятно.
ЗЫ: "но в neo4j можно навешать свойства на связи". Так и в том решении на 2-х таблицах навешать свойства на связи и объекты можно. Вопрос это уже архитектурный от задачи.
Боинг 400+/-, Аэрбас 500+/- пассажиров. + груза много и объемного.
Больше впп с достаточной длиной для приёма по миру.
Отсутствие запрета на полёты над городами. От чего конкорд не летал над землёй...
Развитая инфраструктура обслуживания.
И тд и тп.
Конкорд и иже с ним любые потомки в текущей истории - проигрывают дозвуковым.
Более того, сейчас самолёты летают с крейсерской скоростью меньшей максимальной. Банально экономически по топливу не выгодно на максималке лететь.
Т. ч пересчитай свои расчёты с полным списком растрат. Будет всё печально... Что опять же подтверждает стоимость билета на Конкорд и обычного самолёта в то время.
Дать перфокарту тебе сейчас и ты глазами или чем-то иным не сможешь её прочесть(интерпретировать данные с неё). Дай её человеку с улицы, он вообще не поймёт что это такое.
При этом дай перфокарту сейчас кому-нибудь, кто обладает знаниями что это, то он сможет создать устройство для чтения и интерпретации данных.
Дай перфокарту хоть кому из начала прошлого века - не сможет прочесть или понять, что нужно устройство.
Из этого можно сделать предложение, что если через века, попадётся перфокарта или иное устройство хранения знающему - он сможет считать данные и интерпретировать.
Сначала камеры будут ловить воров велосипедов, когда "доверие" к этим камерам будет максимально как к средству предоставления доказательства нарушения, будут для нужных ситуаций записи с этих камер модифицировать для создания общественного мнения...
"смотрите не полицейский застрелил ниггу едущего на велосипеде с мороженным в руке, а тот напал на полицейского с предметом похожим на оружие и бравому полицейскому пришлось применить оружие"
"смотрите, вот запись с камеры. кenomimi выкрикивал антиправительственные лозунги и угражал подорвать мэрию, а потом бросился на полицейского"... "но позвольте я в это время был в Макдаке и покупал бургер, проверьте запись"... "проверили.. там вас не было, вот доказательство"
и тд
Вот только не надо, что США свободная и демократичная и там всё прекрасно и сроду это не полицейское государство. Полицейское и коль вы этого не видите, вы просто не в зоне интересов деятельности государства в текущий момент. Да по сути как и в любом другом государства... но статья про амазон и сша, потому говорим о сша.
Мне как бы всё-равно. Даже если у нас в РФ это будет. Как выше сказал - чтобы спокойно жить в государстве(обществе), надо не нарушать нормы этого государства и тогда оно не будет на тебя обращать внимание. До сих пор максимум что мне приходилось нарушать в своём государстве, это ПДД(ну не разумно в Новосибирске знаки ограничения скорости стоят), это требование заявлять в военкомат о изменении(далеко за 27 и не считал критичным, но в 22 без вопросов пошёл отметился) и тд. Убивать, бунтовать - ну не... не моё
ЗЫ: написал комментарии и уведомление от ГС пришло "заплатите штраф за превышение" ))))
Ну там от цели. Зачем дубли нужны в результате? Т.ч может и union вполне решает задачу.
Но к автору вопросов дофига. Т.к могу раз в сутки комментарить, то тут спрошу.
Основной:
Вы можете перестать с этим s3 носиться как с чемоданом без ручки? Да и кубер тут упомянутый аж глаз задёргаться заставил... ну с ним ещё худо-бедно ладно.
Второй вопрос:
Чем вторая постгря сбоку не решит задачу? Зачем абстракции над данными? Сначала мы их возьмём, упакуем в "объектную файловую систему", а потом на файловую систему накрутим что-то, что даст нам доступ к данным словно это реляционная БД.... Так возьмите сразу базу реляционную.
Третий вопрос:
В скрипте по выгрузке данных из БД, всё норм? Ну там взять время засечь в начале скрипта. И начать выгружать данные которые старее этого времени. Это займёт время нормальное такое реальное в ходе которого в БД "горячей" время пройдёт и на следующем шаге при удалении данных старее зафиксированного в начале скрипта времени - удалятся данные, которые на предыдущем шаге не выгребли в архив... эм..
Четвёртый вопрос:
А в чём ускорение работы отчётов то получилось(ведь там задача была)? Вы создали ещё одну сущность и к ней дополнительные запросы и работа по сбору данных из горячей базы и архивной. Данных не уменьшилось, а работы увеличилось.
Может заказчику дешевле было бы репликацию настроить на входе? И отчёты делать на базе одной, где данные. Отчёты не будут тормозить работу бизнеса, а бонусом получается резервная актуальная(!!!) копия на которую быстро перескочить можно в случае чего. Экономия на железе фоном это. Само собой не отменяя бэкапов постоянных.
Ну и опять же в постгре(как бы не любил её) есть и другие инструменты для дубляжа данных.
Ну так то первые записи о скотче были датированы(согласно вики) 1494 годом, что раньше рождения Августа Фердинанда Мёбиуса. Если б не он, то и морских открытий было б мало долгое время.
А клейкая лента, о которой @anoldman25 написал, не синоним "скотча" о котором ты вспомнил. Изолента тоже клейкая лента, полоска бумага пропитанная маслом тоже клейкая лента(к слову до сих пор применяется в быту от мух)
Здорово, даже местами интерес какой-то проявлялся но..
Чёт подозрение что "спектр болячек" - немного высосан из пальца. Не знаком с Ratcu, но блин слишком простые проблемы. Про горящие ключи.. Так то родное ЭБУ на машинах тоже замечательно вылетает по ключам при кривом подключении. Да и у тебя тоже "вылетит" блок при пробое той же оптопары. Про помехи от зажигания - ну тут вообще не знаю. В далёкие времена делал на Атмегах зажигание и систему управления нагрузкой и да панелью приборов в мотоцикл. Вообще вот ни одного сбоя по зажиганию, а один из контроллеров находился в пяти см от катушки с искровыми разрядниками защитными.
Управление по COM - легко преобразуется в беспроводное решение. А вот беспроводное как сделать в COM без приседания не ясно. Зачем? Да сгорел модуль беспроводной или заглючил.
Ну и с фразы:
Однажды настроил идеальную карту для УАЗа с АКПП? Экспортируешь файл. На следующем УАЗе — просто импортируешь
улыбнулся. Владельцы уазов знают, что нет двух одинаковых уазов. Понятно, что это художественная попытка показать крутость решения, но...
Опять же понятно, что самореклама и реклама продукта и иначе текст быть не мог, но читается с неким "блоком" в голове. А блок выработался за десятилетия реклам "чудо-таблеток".
Чего не хватает статье:
Собственно описания работы блока. Ладно там чудесным невероятным усилием идя по учебнику победил помехи и догадался обратный диод поставить(тоже не всегда правильно для управления соленоидами) на ключи. Но в коробке задача не просто включить/выключить соленоид на нужной "передаче". На коробке надо управлять правильным потоком масла посредством соленоидов дабы не передавить и не недодавить фрикционы. ШИМ... каждого из соленоида в нужной комбинации оных и в нужных моментах. Это собственно и настраивается в коробках, чтобы не спалить фрикционы и обеспечить комфортную езду.
Как это настраивать. Как реализовано и какие нюансы встречали по пути реализации. И т.д
В целом интересно и конкуренция должна быть по изделиям. Но не дораскрыто.
Люди вправе понимать от какой космической заразы погибнет земля. Опять же Вектору готовить вакцину лучше уже сейчас, чем ждать тушу той "мыши летучей".
Смех смехом. Но кому не хочется чтобы его обсуждали - не идут туда, где каждый чих обсуждается и снимается на камеру. "Что знает двое - знают все" - а в цупе много знающих. Вопрос времени когда скажут кто чем болел. Зачем тянуть?
Мне пофиг в целом на это, но какой-то интерес есть... Больше о том, какую заразу на момент карантина проглядели и в чём может быть причина.
Да и чья школа подготовки лучше. Их или наша... Кто пропустил.
Будут использовать накопленный и достаточный опыт из прошлых десятилетий.
Перестанут создавать велосипеды и абстракции над абстракциями. Настанет мин спокойствия и чистого кода.
Надеюсь.
Зы: тэг "сарказм" и прочие тут должны быть. Но я устал от бреда в подходах как программирования, так и решений ("а давайте сделаем объектное хранилище и будем на нём имитировать классическое файловое со структурой каталогов и назовём это s3" и много подобного )
Ззы: а нет. Фигня мысля. Уже натренированы на этом бреде
Я бы предложил перейти на key-value базу данных с предвычисленными данными по дням
Сейчас надо такие данные, через неделю приходит начальник и говорит мне нужен отчёт по другому срезу данных... И все эти предрасчитанные данные не пригаждаются и приходится перелопачивать сырые не структурированные данные.
Реляционная БД даёт ожидаемое(контролируемое) время в расчётах.
С другой стороны если кидать в nosql, то можно не париться структурой и какие данные нужны, какие нет... Всё в кучу и потом разгребать по мере необходимости по нужным требованиям. Но долго и не гарантированно (на тот период не сохраняли данные такие, а узнать о этом не можем при расчёте). И в результате будет выбрано решение с "кидаем всё в кучу и отдельно БД с расчётами обсчитанными на леру или по расписанию" откуда и будут браться результаты.
Т.ч предложения "я бы предложил перейти" - от задачи решаться должно. Тут автор решает конкретную задачу "показать инструмент", а не "а давайте решение по архитектуре БД и движка выберем"
Кто сказал, что такие цели были?
Вот и всё...
Могу раз в сутки, потому в одном комментарии.
Статья интересная. Многое не понял(не мой профиль), но заставило местами пояндексить и почитать глубже. Интересно.
Про neo4j мнение, не критики ради, а мнение моё субъективное.
Может на текущий момент всё иначе(сомневаюсь). Кто-нибудь сравнивал скорость работы в одинаковых условиях neo4j(или иной графовой) с обычной реляционкой?
В году 16 в контору пришёл новый тимлид с пачкой сертификатов и сразу начал продвигать Neo4j как таблетку от всех наших бед. Мы исторически сидели на msmsql как основной СУБД
Я скептически отнёсся к этой теме и мы с коллегой(ну чтобы мой субъективизм кто-то придержал и быстрее тестовую среду создать) для интереса провели эксперимент.
1) Две БД, neo4j и mssql, развёрнутые из коробки методом далее, далее, далее
2) В mssql две таблицы [сущность] и [связь сущности с другой сущностью] + расширенная процедура с алгоритмом Дейкстры на C#(максимально т.е не оптимально по вызовам)
3) Данные одни и те же залиты в обе БД.
Запросы одинаковые c разной глубиной между объектами "Показать связь между объектом A и X".
neo4j стабильно проигрывала по скорости в разы. На тот момент это было ожидаемо, т.к любой граф, ложится на 2 таблицы, а уж математическая скорость работы в реляционных БД рассчитана, доказана и за десятилетия вылизана по скорости. Что могли предложить этому "молодые" СУБД тех лет - не понятно.
ЗЫ: "но в neo4j можно навешать свойства на связи". Так и в том решении на 2-х таблицах навешать свойства на связи и объекты можно. Вопрос это уже архитектурный от задачи.
Ну ведь проблемой разработчика, не учитывающего особенности железа. Не проблема очереди точно.
Боинг 400+/-, Аэрбас 500+/- пассажиров. + груза много и объемного.
Больше впп с достаточной длиной для приёма по миру.
Отсутствие запрета на полёты над городами. От чего конкорд не летал над землёй...
Развитая инфраструктура обслуживания.
И тд и тп.
Конкорд и иже с ним любые потомки в текущей истории - проигрывают дозвуковым.
Более того, сейчас самолёты летают с крейсерской скоростью меньшей максимальной. Банально экономически по топливу не выгодно на максималке лететь.
Т. ч пересчитай свои расчёты с полным списком растрат. Будет всё печально... Что опять же подтверждает стоимость билета на Конкорд и обычного самолёта в то время.
Дать перфокарту тебе сейчас и ты глазами или чем-то иным не сможешь её прочесть(интерпретировать данные с неё). Дай её человеку с улицы, он вообще не поймёт что это такое.
При этом дай перфокарту сейчас кому-нибудь, кто обладает знаниями что это, то он сможет создать устройство для чтения и интерпретации данных.
Дай перфокарту хоть кому из начала прошлого века - не сможет прочесть или понять, что нужно устройство.
Из этого можно сделать предложение, что если через века, попадётся перфокарта или иное устройство хранения знающему - он сможет считать данные и интерпретировать.
Ну в статье написано почему "аккумуляторы и солнечные панели".
А остальное как-то вода вода в тексте, особенно на фоне "2 камеры в Калифорнии"
Минус в том, что в памяти будет код из 100500 функций, которые сейчас не используются (платформа вычислительная не подходит).
Верю, что решение можно куда-то прикрутить и применение будет оправдано. Тут, к задаче этой, абсолютно бессмысленная абстракция.
Но ок.
Или не понял задачу или что.
#if defined(CPU_MATH) #include "cpumath.h"
#elif defined(GPU_MATH) #include "gpumath.h"
...
#endif
И собирай приложение под нужную конфигурацию.
Чем абстракция из статьи лучше?
Сначала камеры будут ловить воров велосипедов, когда "доверие" к этим камерам будет максимально как к средству предоставления доказательства нарушения, будут для нужных ситуаций записи с этих камер модифицировать для создания общественного мнения...
"смотрите не полицейский застрелил ниггу едущего на велосипеде с мороженным в руке, а тот напал на полицейского с предметом похожим на оружие и бравому полицейскому пришлось применить оружие"
"смотрите, вот запись с камеры. кenomimi выкрикивал антиправительственные лозунги и угражал подорвать мэрию, а потом бросился на полицейского"... "но позвольте я в это время был в Макдаке и покупал бургер, проверьте запись"... "проверили.. там вас не было, вот доказательство"
и тд
Вот только не надо, что США свободная и демократичная и там всё прекрасно и сроду это не полицейское государство. Полицейское и коль вы этого не видите, вы просто не в зоне интересов деятельности государства в текущий момент. Да по сути как и в любом другом государства... но статья про амазон и сша, потому говорим о сша.
Мне как бы всё-равно. Даже если у нас в РФ это будет. Как выше сказал - чтобы спокойно жить в государстве(обществе), надо не нарушать нормы этого государства и тогда оно не будет на тебя обращать внимание. До сих пор максимум что мне приходилось нарушать в своём государстве, это ПДД(ну не разумно в Новосибирске знаки ограничения скорости стоят), это требование заявлять в военкомат о изменении(далеко за 27 и не считал критичным, но в 22 без вопросов пошёл отметился) и тд. Убивать, бунтовать - ну не... не моё
ЗЫ: написал комментарии и уведомление от ГС пришло "заплатите штраф за превышение" ))))
Ну там от цели. Зачем дубли нужны в результате? Т.ч может и union вполне решает задачу.
Но к автору вопросов дофига. Т.к могу раз в сутки комментарить, то тут спрошу.
Основной:
Вы можете перестать с этим s3 носиться как с чемоданом без ручки? Да и кубер тут упомянутый аж глаз задёргаться заставил... ну с ним ещё худо-бедно ладно.
Второй вопрос:
Чем вторая постгря сбоку не решит задачу? Зачем абстракции над данными? Сначала мы их возьмём, упакуем в "объектную файловую систему", а потом на файловую систему накрутим что-то, что даст нам доступ к данным словно это реляционная БД.... Так возьмите сразу базу реляционную.
Третий вопрос:
В скрипте по выгрузке данных из БД, всё норм? Ну там взять время засечь в начале скрипта. И начать выгружать данные которые старее этого времени. Это займёт время нормальное такое реальное в ходе которого в БД "горячей" время пройдёт и на следующем шаге при удалении данных старее зафиксированного в начале скрипта времени - удалятся данные, которые на предыдущем шаге не выгребли в архив... эм..
Четвёртый вопрос:
А в чём ускорение работы отчётов то получилось(ведь там задача была)? Вы создали ещё одну сущность и к ней дополнительные запросы и работа по сбору данных из горячей базы и архивной. Данных не уменьшилось, а работы увеличилось.
Может заказчику дешевле было бы репликацию настроить на входе? И отчёты делать на базе одной, где данные. Отчёты не будут тормозить работу бизнеса, а бонусом получается резервная актуальная(!!!) копия на которую быстро перескочить можно в случае чего. Экономия на железе фоном это. Само собой не отменяя бэкапов постоянных.
Ну и опять же в постгре(как бы не любил её) есть и другие инструменты для дубляжа данных.
Не чаще зимой.
Летом некогда просто. Огороды, пляжи...
Ну и в -20/-30 меньше простыших, чем в +/-0
Это было круто. Приятно и интересно читать. Приятно вспомнить о этой игре. О программировании тогда... Круто.
Спасибо за статью
Ну так то первые записи о скотче были датированы(согласно вики) 1494 годом, что раньше рождения Августа Фердинанда Мёбиуса. Если б не он, то и морских открытий было б мало долгое время.
А клейкая лента, о которой @anoldman25 написал, не синоним "скотча" о котором ты вспомнил. Изолента тоже клейкая лента, полоска бумага пропитанная маслом тоже клейкая лента(к слову до сих пор применяется в быту от мух)
Ну если уж занудствовать 😅
Здорово, даже местами интерес какой-то проявлялся но..
Чёт подозрение что "спектр болячек" - немного высосан из пальца. Не знаком с Ratcu, но блин слишком простые проблемы. Про горящие ключи.. Так то родное ЭБУ на машинах тоже замечательно вылетает по ключам при кривом подключении. Да и у тебя тоже "вылетит" блок при пробое той же оптопары. Про помехи от зажигания - ну тут вообще не знаю. В далёкие времена делал на Атмегах зажигание и систему управления нагрузкой и да панелью приборов в мотоцикл. Вообще вот ни одного сбоя по зажиганию, а один из контроллеров находился в пяти см от катушки с искровыми разрядниками защитными.
Управление по COM - легко преобразуется в беспроводное решение. А вот беспроводное как сделать в COM без приседания не ясно. Зачем? Да сгорел модуль беспроводной или заглючил.
Ну и с фразы:
улыбнулся. Владельцы уазов знают, что нет двух одинаковых уазов. Понятно, что это художественная попытка показать крутость решения, но...
Опять же понятно, что самореклама и реклама продукта и иначе текст быть не мог, но читается с неким "блоком" в голове. А блок выработался за десятилетия реклам "чудо-таблеток".
Чего не хватает статье:
Собственно описания работы блока. Ладно там чудесным невероятным усилием идя по учебнику победил помехи и догадался обратный диод поставить(тоже не всегда правильно для управления соленоидами) на ключи. Но в коробке задача не просто включить/выключить соленоид на нужной "передаче". На коробке надо управлять правильным потоком масла посредством соленоидов дабы не передавить и не недодавить фрикционы. ШИМ... каждого из соленоида в нужной комбинации оных и в нужных моментах. Это собственно и настраивается в коробках, чтобы не спалить фрикционы и обеспечить комфортную езду.
Как это настраивать. Как реализовано и какие нюансы встречали по пути реализации. И т.д
В целом интересно и конкуренция должна быть по изделиям. Но не дораскрыто.
Удачи в продвижении.
И ни какой рабочий из обслуживающих предстартовую подготовку не мог чихнуть на оборудование, экипировку, салон?
Или члены экспедиции прям из изолированного помещения где "две недели на карантине" были через обеззараженный коридор попадают в капсулу?
Ну тогда усё ещё хуже. Они заразились всё же инопланетной заразой выходит... Мы все умрём. Сарказм.
В реале никакой изоляции нет и карантин... Ну какой-то не карантин:
Люди вправе понимать от какой космической заразы погибнет земля. Опять же Вектору готовить вакцину лучше уже сейчас, чем ждать тушу той "мыши летучей".
Смех смехом. Но кому не хочется чтобы его обсуждали - не идут туда, где каждый чих обсуждается и снимается на камеру. "Что знает двое - знают все" - а в цупе много знающих. Вопрос времени когда скажут кто чем болел. Зачем тянуть?
Мне пофиг в целом на это, но какой-то интерес есть... Больше о том, какую заразу на момент карантина проглядели и в чём может быть причина.
Да и чья школа подготовки лучше. Их или наша... Кто пропустил.
Это вполне нормальный интерес.
Да какой там цинк... Десяток два выстрелов - уже норм цена. И это только разогреться. А для тренировки это ни о чём.
Будут использовать накопленный и достаточный опыт из прошлых десятилетий.
Перестанут создавать велосипеды и абстракции над абстракциями. Настанет мин спокойствия и чистого кода.
Надеюсь.
Зы: тэг "сарказм" и прочие тут должны быть. Но я устал от бреда в подходах как программирования, так и решений ("а давайте сделаем объектное хранилище и будем на нём имитировать классическое файловое со структурой каталогов и назовём это s3" и много подобного )
Ззы: а нет. Фигня мысля. Уже натренированы на этом бреде
Просто интересно... Через какой канал? Как узнал?
В степи глухой летая - как передаёт что-то в Китай?
Видимо при включении пульта дома. Лазил смотреть обновления пfz или ещё что нибудь.. Или..
Айфон(ну чтоб показать, что продукты сша) тоже работают по сети) включаешь - он не передаёт ничего в америку? Или это другое?
Сейчас надо такие данные, через неделю приходит начальник и говорит мне нужен отчёт по другому срезу данных... И все эти предрасчитанные данные не пригаждаются и приходится перелопачивать сырые не структурированные данные.
Реляционная БД даёт ожидаемое(контролируемое) время в расчётах.
С другой стороны если кидать в nosql, то можно не париться структурой и какие данные нужны, какие нет... Всё в кучу и потом разгребать по мере необходимости по нужным требованиям. Но долго и не гарантированно (на тот период не сохраняли данные такие, а узнать о этом не можем при расчёте). И в результате будет выбрано решение с "кидаем всё в кучу и отдельно БД с расчётами обсчитанными на леру или по расписанию" откуда и будут браться результаты.
Т.ч предложения "я бы предложил перейти" - от задачи решаться должно. Тут автор решает конкретную задачу "показать инструмент", а не "а давайте решение по архитектуре БД и движка выберем"