Здравствуйте, hattab, Вы писали:
H>Здравствуйте, _d_m_, Вы писали:
H>>>>>>>Правильные БД (например Firebird), блобы хранят отдельно от табличных данных, посему никаких проблем это не вызывает, а профит в отсутствии необходимости обеспечивать целостность данных.
H>>>FB в качестве примера, как там и написано . А какой косяк, позволь осведомиться? Ты походу вообще не понял, что "отдельно от табличных данных" не означает в отдельных файлах
___>>Косяк выделен жирным выше.
H>Мда... Расшифровываю для непонятливых: при хранении бинарников в БД мы получаем профит от того, что нам не нужно париться относительно транзакционности и обеспечения целостности. Так понятнее, или все еще считаешь, что я говорю о каком-то косяке FB?
Ну так бы сразу и сказал. Я понял по другому: что FB не обеспечяивает целостность своих блобов
При раздельном хранении в БД и в ФС — гемор еще и с резервным копированием/восстановлении.
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, _d_m_, Вы писали:
___>>Хранилище FILESTREAM объединяет компонент SQL Server Database Engine с файловой системой NTFS, размещая данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде файлов.
C>А я Вам о чем твержу?
Несколько о другом. О раздельном хранении в ФС и в БД. Кстати, ссылки приведенные мной — про MS SQL до версии 2008. Я за хранение блобов в БД, даже без FILESTREAM. Хотя файлстрим — самое оно.
С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM.
___>Несколько о другом. О раздельном хранении в ФС и в БД.
Я говорил именно так: "ютюб скорее всего хранит ролики не в бд, а на файловой системе, а в бд только ссылки на файлы".
___>Кстати, ссылки приведенные мной — про MS SQL до версии 2008. Я за хранение блобов в БД, даже без FILESTREAM.
Это годится только для очень малых объемов бинарной информации.
Здравствуйте, _d_m_, Вы писали:
WH>>Если раздавать из файловой системы то ядро ОС может отправлять все прямо в сеть. WH>>Из какой базы данных можно ядром ОС отправлять данные прямо в сеть? ___>MS SQL Server. ___>И в третий раз за сегодня:
Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...
Правда тут возникает еще один вопрос. Сколько будет стоить софт для объемов youtube?
Тем более что сделать это руками не так уж и сложно.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, _d_m_, Вы писали:
___>>Несколько о другом. О раздельном хранении в ФС и в БД. C>Я говорил именно так: "ютюб скорее всего хранит ролики не в бд, а на файловой системе, а в бд только ссылки на файлы".
Я не знаю, что там и как в ютуб — здесь мы можем выдвигать только гипотезы. Делается ли резервное копирование роликов или нет — ХЗ
Может они взяли исходники MySQL и так их обработали, что там уже получился какой-нибудь ЮтубSQL с поправлеными косяками и специфичным функционалом типа МС-овского filestream.
___>>Кстати, ссылки приведенные мной — про MS SQL до версии 2008. Я за хранение блобов в БД, даже без FILESTREAM. C>Это годится только для очень малых объемов бинарной информации.
Я тебе приводил ссылки про террабайтные базы шарепойнт, террасервер
Здравствуйте, WolfHound, Вы писали:
WH>Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах... WH>Правда тут возникает еще один вопрос. Сколько будет стоить софт для объемов youtube? WH>Тем более что сделать это руками не так уж и сложно.
Сделай запрос, узнай
Я думаю надо использовать лицензирование на процессор, а если учесть что при этом 1 многоядерник — это 1 лицензия, все может быть не так уж плохо.
Здравствуйте, WolfHound, Вы писали:
WH>Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...
Так же было и с поддержкой версионности. Но за что мне нравится МС они могут предложить не просто такое же, а лучше. Например: read_committed_snapshot — смешанный режим. Версии строк создаются только тогда, когда транзакции пишут одни и те же строки.
Здравствуйте, Serginio1, Вы писали:
S> На самом деле разные языки разные подходы, их-за возможностей. Знание обогащает, и в редких моментах натыкают на нужный алгоритм, чегобез знания не было бы возможно.
Честно говоря, не очень пойму, как переход , скажем, с паскаля на С++ или с С++ на C# может натолкнуть на новый алгоритм. ИМХО все же первичен алгоритм, а потом уж его реализация на каком-то языке.
>Да и для различных задач нужны разные инструменты.
Совершенно согласен. Но вот это мои оппоненты понять и принять никак не хотят. Я им в сотый раз объясняю, что у меня другие задачи, а они мне в ответ — C# лучше всего
>Да и в конце то в концов получкние новых знаний и навыков доставляет удовольствие.
Здравствуйте, WolfHound, Вы писали:
PD>>Голословные утверждения особой ценности не представляют. У меня основное требование — скорость, второе — объем памяти. И всякие лишние действия мне ни к чему. Поэтому я вряд ли сильно ошибаюсь, тем более, что я и сам тестировал (.Net) и читал, что тут писали (другие системы). WH>Ты просто фантастически ошибаешься в том что тебе не надо это знать.
Что не надо знать ? Я же ясно сказал — я это тестировал (а стало быть знаю, пусть и не все) и определил, что это медленнее — для моих задач. Так что фантастически я не могу ошибаться. Даже если бы это было бы с той же скоростью — я бы ошибался, но не фантастически. Фантастически — если бы раза в 2-3-5 быстрее. Но это невозможно
WH>Все остальное оправдания собственной лени и невежества.
Подобные высказывания вряд ли украшают того, кто их делает. Нет ничего проще, чем обвинить оппонента в лени, невежестве, еще чем-то, вместо того, чтобы спорить с его аргументами
А впрочем, давай иначе. Пусть речь идет не о мне. Некий X делает те же заключения о управляемой среде. Ничего про этого X ты не знаешь, он здесь первый раз. Означает ли это, что он автоматически ленив и невежественен ? Означает ли это, что все, кто с твоим мнением в этой области не согласен, ленивы и невежественны ? Ad absurdum...
PD>>А ведь вы правы. Реально ваши задачи таковы, что от вас ускорить быстродействие в 5 раз не потребуют. Ну выросла компания в 2 раза, ну увеличилась нагрузка в 2 раза, ну замедлился ответ в 2 раза (а может, и не замедлился, было 5 посетителей в день, стало 10 , ну и ладно. А когда компания сильно разрастется, то выкинут они этот сатй на помойку и сделают новый. WH>Ты даже не представляешь насколько ты не прав.
PD>>Но не у всех такие задачи. Вот поэтому ты и неправ в общем случае. WH>Если мне понадобится решить твою задачу то я сделаю это с блеском причем самым неожиданным для тебя способом.
Супер! Поскольку о задаче ты не имеешь никакого представления, то это твое утверждение означает, что ты готов решить любую задачу, причем с блеском, да еще и неожиданным для меня способом! Ну и ну!
PD>>Ты Яндексовый движок писал ? Или что-то к движку ? WH>Яндекс большой и движков там много. WH>И таки да я писал движки которые живут в продакшене под нагрузкой.
Это не ответ. Являются ли эти движки (или их части) критическими по времени ? Та часть движка, которая обеспечивает CMS и используется один раз в день при внесениии каких-то изменений в систему, роли не играет.
PD>>Ну и программисты у вас, если они пишут нечто такое, что можно разогнать в сотни раз. WH>Обычные такие программисты. WH>И пишут они правильно.
Супер! В общем , все ясно — "по этому вопросу есть два мнения, одно мое, другое неправильное"
WH>>>Ну если использовать его только как дисковую подсистему PD>>??? WH>>>и делать свою БД поверх него то может и не плохо. PD>>??? WH>Во-во как обычно полное не понимание того о чем вообще разговор... и еще говоришь что понимаешь как это все работает...
Точно, полное непонимание. До сих пор дисковой подсистемой называлось нечто иное.
Здравствуйте, criosray, Вы писали:
C>Ваши проблемы в том, что Вы пишете приложения, которые либо слабо, либо и вовсе не поддаются рефакторингу
И еще как не поддаются! Незачем им и поддаваться, это же будет означать, что я их не лучшим образом написал
Но почему "проблемы" — не понял. Никаких проблем, просто задачи таковы.
>и модификации в дальнейшем. Потому Вам и кажется, что следует заранее все продумать до мелочей и оптимизировать еще на этапе начального проектирования, но это для крупных систем не возможно фактически.
Смею заверить, что участвовал я в разработке достаточно крупной системы и оптимизировал именно на этапе начального проектирования , правда, не всей системы, а своего куска — доступа к данным. И если бы я это не сделал, то меня бы, скорее всего, уволили, потому что именно для этого меня в этот проект и приняли.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Смею заверить, что участвовал я в разработке достаточно крупной системы и оптимизировал именно на этапе начального проектирования , правда, не всей системы, а своего куска — доступа к данным. И если бы я это не сделал, то меня бы, скорее всего, уволили, потому что именно для этого меня в этот проект и приняли.
Т.е. ты просто выполнял требования работодателя. Ну это несколько другое.
Здравствуйте, gandjustas, Вы писали:
G>не оправдывайся, ты как не знал ничего кроме С++, так и не знаешь. Хотя и насчет плюсов возникают сомнения.
Неужели ты думаешь, что я буду что-то тебе доказывать ?
G>Это ты неправ в общем случае, ибо если программа не выполняет требования, то она нафиг не нужна независимо от скорости её работы. G>Есть конечно торгаши, которые умеют впаривать неработающие программы, но таким программистам как ты это чести не делает.
Пытался эти фразы понять, но так и не смог. То ли я торгаш, который впаривает неработающие программы (откуда такие данные ?), то ли , наоборот, программист высокого класса (но как это возможно, я же ничего не знаю ?), которому это (что это ?) чести не делает.
"Сила в словах у тебя есть, но ты их правильно расставить не можешь. Поэтому ты, Федя, в состоянии пропагандистом не быть"
Здравствуйте, WolfHound, Вы писали: WH>Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...
Нет. Микрософт признал проблему со скоростью линейного чтения из блобов. В связи с этим, они замутили Filestream, которые работают со скоростью файлухи, но через базу — т.е. обеспечивают ACID и прозрачность бэкапов.
То, какая там механика использована унутре — дело десятое. Совершенно неважно, создаётся ли отдельный файл для каждого блоба, или они выделяются блочно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>Смею заверить, что участвовал я в разработке достаточно крупной системы и оптимизировал именно на этапе начального проектирования , правда, не всей системы, а своего куска — доступа к данным. И если бы я это не сделал, то меня бы, скорее всего, уволили, потому что именно для этого меня в этот проект и приняли.
___>Т.е. ты просто выполнял требования работодателя. Ну это несколько другое.
Интересное кино начинается опять. То тут мне всякие (вроде не ты) доказывают, что соответствие требования заказчика — это , мол, самое главное (с чем я не вполне согласен), то вдруг, когда обнаруживается, что я их выполнил — это мол, несколько другое
На самом деле я их не выполнил. Точнее, я их просто принял к сведению в качестве верхней планки. А делать решил на пределе своих возможностей, так, чтобы я мог сказать по крайней мере одно — "я сделал все, что мог, пусть другие сделают лучше". В итоге это оказалось в 95% случаев в несколько раз быстрее, чем он просил
Правда, такой подход имел один своеобразный эффект. Не то, чтобы неожиданный, я понимал, что таким дело может кончиться. Заказчик уверился, что я все могу , и на следующий раз, для другой задачи, прислал мне требования по времени, от которых у меня волосы дыбом стали — мне показалось, что такое невозможно, о чем я ему тут же и заявил. В ответ пришло — "постарайтесь все же сделать". Оказалось, что можно Правда, с помощью CUDA.
Здравствуйте, _d_m_, Вы писали:
___>Сделай запрос, узнай ___>Я думаю надо использовать лицензирование на процессор, а если учесть что при этом 1 многоядерник — это 1 лицензия, все может быть не так уж плохо.
А зачем? Особенно если учесть что это решается бесплатным линуксом и несколькими сотнями строк кода?
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Serginio1, Вы писали:
S>> На самом деле разные языки разные подходы, их-за возможностей. Знание обогащает, и в редких моментах натыкают на нужный алгоритм, чегобез знания не было бы возможно.
PD>Честно говоря, не очень пойму, как переход , скажем, с паскаля на С++ или с С++ на C# может натолкнуть на новый алгоритм. ИМХО все же первичен алгоритм, а потом уж его реализация на каком-то языке.
Delphi C# различная архитектура классов (хотя ооочень похожа), различные подходы для решения задач из-за встроенных возможностей например метаклассы (виртуальные кострукторы, виртуальные методы классов), итд.
Функциональное и империческое программирование. Здесь много различий. В том числе различные алгоритмы для решения оджних и тех же задач
Самое главное это менять навыки, которые не всегда оптимальны для любых задач. А вот получение дополнительных навыков позволяет варьировать ими. Именно навыки, т.к. знания без навыков, это только верхушка айсберга.
Если честно то твоя позиция мне близка, но я стараюсь от нее отходить
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Правда, такой подход имел один своеобразный эффект. Не то, чтобы неожиданный, я понимал, что таким дело может кончиться. Заказчик уверился, что я все могу , и на следующий раз, для другой задачи, прислал мне требования по времени, от которых у меня волосы дыбом стали — мне показалось, что такое невозможно, о чем я ему тут же и заявил. В ответ пришло — "постарайтесь все же сделать". Оказалось, что можно Правда, с помощью CUDA.
Только те, кто ставит себе невозможные цели — дотигают невозможного
Здравствуйте, Pavel Dvorkin, Вы писали:
___>>Т.е. ты просто выполнял требования работодателя. Ну это несколько другое.
PD>Интересное кино начинается опять. То тут мне всякие (вроде не ты) доказывают, что соответствие требования заказчика — это , мол, самое главное (с чем я не вполне согласен), то вдруг, когда обнаруживается, что я их выполнил — это мол, несколько другое
PD>На самом деле я их не выполнил.
Еще бы при таком неверном в корне способе разработки Вы их выполнили...
Здравствуйте, Serginio1, Вы писали:
S>>> На самом деле разные языки разные подходы, их-за возможностей. Знание обогащает, и в редких моментах натыкают на нужный алгоритм, чегобез знания не было бы возможно.
PD>>Честно говоря, не очень пойму, как переход , скажем, с паскаля на С++ или с С++ на C# может натолкнуть на новый алгоритм. ИМХО все же первичен алгоритм, а потом уж его реализация на каком-то языке. S> Delphi C# различная архитектура классов (хотя ооочень похожа), различные подходы для решения задач из-за встроенных возможностей например метаклассы (виртуальные кострукторы, виртуальные методы классов), итд. S>Функциональное и империческое программирование. Здесь много различий. В том числе различные алгоритмы для решения оджних и тех же задач
+ аспект-ориентированное программирование, +domain specific languages. Если говорить о Nemerle, то еще и метапрограммирование добавляется...
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Супер! Поскольку о задаче ты не имеешь никакого представления, то это твое утверждение означает, что ты готов решить любую задачу, причем с блеском, да еще и неожиданным для меня способом! Ну и ну!
Ты сам не раз говорил про числомолотилки.
Я это умею. Через одну из них прошло никак не меньше 50 миллионов изображений.
Причем умею применять в том числе волшебные методы...
Сейчас изучаю очередную магию на эту тему...
WH>>Яндекс большой и движков там много. WH>>И таки да я писал движки которые живут в продакшене под нагрузкой. PD>Это не ответ. Являются ли эти движки (или их части) критическими по времени ?
Прочитай выделенное.
PD>Супер! В общем , все ясно — "по этому вопросу есть два мнения, одно мое, другое неправильное"
Зеркало принести?
PD>Точно, полное непонимание. До сих пор дисковой подсистемой называлось нечто иное.
Дисковая подсистема это то что работает с дисками.
Можно конечно ручками но зачем?
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн