Re[64]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 21.06.09 10:46
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, _d_m_, Вы писали:


H>>>>>>>Правильные БД (например Firebird), блобы хранят отдельно от табличных данных, посему никаких проблем это не вызывает, а профит в отсутствии необходимости обеспечивать целостность данных.


H>>>FB в качестве примера, как там и написано . А какой косяк, позволь осведомиться? Ты походу вообще не понял, что "отдельно от табличных данных" не означает в отдельных файлах


___>>Косяк выделен жирным выше.


H>Мда... Расшифровываю для непонятливых: при хранении бинарников в БД мы получаем профит от того, что нам не нужно париться относительно транзакционности и обеспечения целостности. Так понятнее, или все еще считаешь, что я говорю о каком-то косяке FB?


Ну так бы сразу и сказал. Я понял по другому: что FB не обеспечяивает целостность своих блобов

При раздельном хранении в БД и в ФС — гемор еще и с резервным копированием/восстановлении.
Re[59]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 21.06.09 10:50
Оценка:
Здравствуйте, criosray, Вы писали:

C>Здравствуйте, _d_m_, Вы писали:


___>>Хранилище FILESTREAM объединяет компонент SQL Server Database Engine с файловой системой NTFS, размещая данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде файлов.


C>А я Вам о чем твержу?


Несколько о другом. О раздельном хранении в ФС и в БД. Кстати, ссылки приведенные мной — про MS SQL до версии 2008. Я за хранение блобов в БД, даже без FILESTREAM. Хотя файлстрим — самое оно.

С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM.

Re[60]: Ну ты вообще многого не видишь... ;)
От: criosray  
Дата: 21.06.09 12:13
Оценка: -1
Здравствуйте, _d_m_, Вы писали:


___>Несколько о другом. О раздельном хранении в ФС и в БД.

Я говорил именно так: "ютюб скорее всего хранит ролики не в бд, а на файловой системе, а в бд только ссылки на файлы".

___>Кстати, ссылки приведенные мной — про MS SQL до версии 2008. Я за хранение блобов в БД, даже без FILESTREAM.

Это годится только для очень малых объемов бинарной информации.
Re[58]: Ну ты вообще многого не видишь... ;)
От: WolfHound  
Дата: 21.06.09 14:11
Оценка:
Здравствуйте, _d_m_, Вы писали:

WH>>Если раздавать из файловой системы то ядро ОС может отправлять все прямо в сеть.

WH>>Из какой базы данных можно ядром ОС отправлять данные прямо в сеть?
___>MS SQL Server.
___>И в третий раз за сегодня:
Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...
Правда тут возникает еще один вопрос. Сколько будет стоить софт для объемов youtube?
Тем более что сделать это руками не так уж и сложно.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[61]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 22.06.09 01:48
Оценка:
Здравствуйте, criosray, Вы писали:

C>Здравствуйте, _d_m_, Вы писали:


___>>Несколько о другом. О раздельном хранении в ФС и в БД.

C>Я говорил именно так: "ютюб скорее всего хранит ролики не в бд, а на файловой системе, а в бд только ссылки на файлы".

Я не знаю, что там и как в ютуб — здесь мы можем выдвигать только гипотезы. Делается ли резервное копирование роликов или нет — ХЗ
Может они взяли исходники MySQL и так их обработали, что там уже получился какой-нибудь ЮтубSQL с поправлеными косяками и специфичным функционалом типа МС-овского filestream.

___>>Кстати, ссылки приведенные мной — про MS SQL до версии 2008. Я за хранение блобов в БД, даже без FILESTREAM.

C>Это годится только для очень малых объемов бинарной информации.

Я тебе приводил ссылки про террабайтные базы шарепойнт, террасервер
Re[59]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 22.06.09 01:51
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...

WH>Правда тут возникает еще один вопрос. Сколько будет стоить софт для объемов youtube?
WH>Тем более что сделать это руками не так уж и сложно.

Сделай запрос, узнай
Я думаю надо использовать лицензирование на процессор, а если учесть что при этом 1 многоядерник — это 1 лицензия, все может быть не так уж плохо.
Re[59]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 22.06.09 02:02
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...


Так же было и с поддержкой версионности. Но за что мне нравится МС они могут предложить не просто такое же, а лучше. Например: read_committed_snapshot — смешанный режим. Версии строк создаются только тогда, когда транзакции пишут одни и те же строки.
Re[53]: Ну ты вообще многого не видишь... ;)
От: Pavel Dvorkin Россия  
Дата: 22.06.09 03:51
Оценка: :)
Здравствуйте, Serginio1, Вы писали:

S> На самом деле разные языки разные подходы, их-за возможностей. Знание обогащает, и в редких моментах натыкают на нужный алгоритм, чегобез знания не было бы возможно.


Честно говоря, не очень пойму, как переход , скажем, с паскаля на С++ или с С++ на C# может натолкнуть на новый алгоритм. ИМХО все же первичен алгоритм, а потом уж его реализация на каком-то языке.

>Да и для различных задач нужны разные инструменты.


Совершенно согласен. Но вот это мои оппоненты понять и принять никак не хотят. Я им в сотый раз объясняю, что у меня другие задачи, а они мне в ответ — C# лучше всего

>Да и в конце то в концов получкние новых знаний и навыков доставляет удовольствие.


+1
With best regards
Pavel Dvorkin
Re[53]: Ну ты вообще многого не видишь... ;)
От: Pavel Dvorkin Россия  
Дата: 22.06.09 04:03
Оценка:
Здравствуйте, 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>Во-во как обычно полное не понимание того о чем вообще разговор... и еще говоришь что понимаешь как это все работает...

Точно, полное непонимание. До сих пор дисковой подсистемой называлось нечто иное.
With best regards
Pavel Dvorkin
Re[51]: Ну ты вообще многого не видишь... ;)
От: Pavel Dvorkin Россия  
Дата: 22.06.09 04:09
Оценка:
Здравствуйте, criosray, Вы писали:

C>Ваши проблемы в том, что Вы пишете приложения, которые либо слабо, либо и вовсе не поддаются рефакторингу


И еще как не поддаются! Незачем им и поддаваться, это же будет означать, что я их не лучшим образом написал
Но почему "проблемы" — не понял. Никаких проблем, просто задачи таковы.

>и модификации в дальнейшем. Потому Вам и кажется, что следует заранее все продумать до мелочей и оптимизировать еще на этапе начального проектирования, но это для крупных систем не возможно фактически.


Смею заверить, что участвовал я в разработке достаточно крупной системы и оптимизировал именно на этапе начального проектирования , правда, не всей системы, а своего куска — доступа к данным. И если бы я это не сделал, то меня бы, скорее всего, уволили, потому что именно для этого меня в этот проект и приняли.
With best regards
Pavel Dvorkin
Re[52]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 22.06.09 04:36
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Смею заверить, что участвовал я в разработке достаточно крупной системы и оптимизировал именно на этапе начального проектирования , правда, не всей системы, а своего куска — доступа к данным. И если бы я это не сделал, то меня бы, скорее всего, уволили, потому что именно для этого меня в этот проект и приняли.


Т.е. ты просто выполнял требования работодателя. Ну это несколько другое.
Re[53]: Ну ты вообще многого не видишь... ;)
От: Pavel Dvorkin Россия  
Дата: 22.06.09 04:41
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>не оправдывайся, ты как не знал ничего кроме С++, так и не знаешь. Хотя и насчет плюсов возникают сомнения.


Неужели ты думаешь, что я буду что-то тебе доказывать ?

G>Это ты неправ в общем случае, ибо если программа не выполняет требования, то она нафиг не нужна независимо от скорости её работы.

G>Есть конечно торгаши, которые умеют впаривать неработающие программы, но таким программистам как ты это чести не делает.

Пытался эти фразы понять, но так и не смог. То ли я торгаш, который впаривает неработающие программы (откуда такие данные ?), то ли , наоборот, программист высокого класса (но как это возможно, я же ничего не знаю ?), которому это (что это ?) чести не делает.

"Сила в словах у тебя есть, но ты их правильно расставить не можешь. Поэтому ты, Федя, в состоянии пропагандистом не быть"

(C) А. Райкин
With best regards
Pavel Dvorkin
Re[59]: Ну ты вообще многого не видишь... ;)
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.06.09 05:13
Оценка:
Здравствуйте, WolfHound, Вы писали:
WH>Те мелкософты таки признали проблему и начали хранить блобы в отдельных файлах...
Нет. Микрософт признал проблему со скоростью линейного чтения из блобов. В связи с этим, они замутили Filestream, которые работают со скоростью файлухи, но через базу — т.е. обеспечивают ACID и прозрачность бэкапов.
То, какая там механика использована унутре — дело десятое. Совершенно неважно, создаётся ли отдельный файл для каждого блоба, или они выделяются блочно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[53]: Ну ты вообще многого не видишь... ;)
От: Pavel Dvorkin Россия  
Дата: 22.06.09 05:39
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Смею заверить, что участвовал я в разработке достаточно крупной системы и оптимизировал именно на этапе начального проектирования , правда, не всей системы, а своего куска — доступа к данным. И если бы я это не сделал, то меня бы, скорее всего, уволили, потому что именно для этого меня в этот проект и приняли.


___>Т.е. ты просто выполнял требования работодателя. Ну это несколько другое.


Интересное кино начинается опять. То тут мне всякие (вроде не ты) доказывают, что соответствие требования заказчика — это , мол, самое главное (с чем я не вполне согласен), то вдруг, когда обнаруживается, что я их выполнил — это мол, несколько другое

На самом деле я их не выполнил. Точнее, я их просто принял к сведению в качестве верхней планки. А делать решил на пределе своих возможностей, так, чтобы я мог сказать по крайней мере одно — "я сделал все, что мог, пусть другие сделают лучше". В итоге это оказалось в 95% случаев в несколько раз быстрее, чем он просил

Правда, такой подход имел один своеобразный эффект. Не то, чтобы неожиданный, я понимал, что таким дело может кончиться. Заказчик уверился, что я все могу , и на следующий раз, для другой задачи, прислал мне требования по времени, от которых у меня волосы дыбом стали — мне показалось, что такое невозможно, о чем я ему тут же и заявил. В ответ пришло — "постарайтесь все же сделать". Оказалось, что можно Правда, с помощью CUDA.
With best regards
Pavel Dvorkin
Re[60]: Ну ты вообще многого не видишь... ;)
От: WolfHound  
Дата: 22.06.09 06:24
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Сделай запрос, узнай

___>Я думаю надо использовать лицензирование на процессор, а если учесть что при этом 1 многоядерник — это 1 лицензия, все может быть не так уж плохо.
А зачем? Особенно если учесть что это решается бесплатным линуксом и несколькими сотнями строк кода?
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[54]: Ну ты вообще многого не видишь... ;)
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 22.06.09 06:31
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Serginio1, Вы писали:


S>> На самом деле разные языки разные подходы, их-за возможностей. Знание обогащает, и в редких моментах натыкают на нужный алгоритм, чегобез знания не было бы возможно.


PD>Честно говоря, не очень пойму, как переход , скажем, с паскаля на С++ или с С++ на C# может натолкнуть на новый алгоритм. ИМХО все же первичен алгоритм, а потом уж его реализация на каком-то языке.

Delphi C# различная архитектура классов (хотя ооочень похожа), различные подходы для решения задач из-за встроенных возможностей например метаклассы (виртуальные кострукторы, виртуальные методы классов), итд.
Функциональное и империческое программирование. Здесь много различий. В том числе различные алгоритмы для решения оджних и тех же задач
Самое главное это менять навыки, которые не всегда оптимальны для любых задач. А вот получение дополнительных навыков позволяет варьировать ими. Именно навыки, т.к. знания без навыков, это только верхушка айсберга.
Если честно то твоя позиция мне близка, но я стараюсь от нее отходить
и солнце б утром не вставало, когда бы не было меня
Re[54]: Ну ты вообще многого не видишь... ;)
От: _d_m_  
Дата: 22.06.09 06:33
Оценка: +2
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Правда, такой подход имел один своеобразный эффект. Не то, чтобы неожиданный, я понимал, что таким дело может кончиться. Заказчик уверился, что я все могу , и на следующий раз, для другой задачи, прислал мне требования по времени, от которых у меня волосы дыбом стали — мне показалось, что такое невозможно, о чем я ему тут же и заявил. В ответ пришло — "постарайтесь все же сделать". Оказалось, что можно Правда, с помощью CUDA.


Только те, кто ставит себе невозможные цели — дотигают невозможного

Re[54]: Ну ты вообще многого не видишь... ;)
От: criosray  
Дата: 22.06.09 06:37
Оценка: -1
Здравствуйте, Pavel Dvorkin, Вы писали:

___>>Т.е. ты просто выполнял требования работодателя. Ну это несколько другое.


PD>Интересное кино начинается опять. То тут мне всякие (вроде не ты) доказывают, что соответствие требования заказчика — это , мол, самое главное (с чем я не вполне согласен), то вдруг, когда обнаруживается, что я их выполнил — это мол, несколько другое


PD>На самом деле я их не выполнил.


Еще бы при таком неверном в корне способе разработки Вы их выполнили...
Re[55]: Ну ты вообще многого не видишь... ;)
От: criosray  
Дата: 22.06.09 06:41
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>>> На самом деле разные языки разные подходы, их-за возможностей. Знание обогащает, и в редких моментах натыкают на нужный алгоритм, чегобез знания не было бы возможно.


PD>>Честно говоря, не очень пойму, как переход , скажем, с паскаля на С++ или с С++ на C# может натолкнуть на новый алгоритм. ИМХО все же первичен алгоритм, а потом уж его реализация на каком-то языке.

S> Delphi C# различная архитектура классов (хотя ооочень похожа), различные подходы для решения задач из-за встроенных возможностей например метаклассы (виртуальные кострукторы, виртуальные методы классов), итд.
S>Функциональное и империческое программирование. Здесь много различий. В том числе различные алгоритмы для решения оджних и тех же задач

+ аспект-ориентированное программирование, +domain specific languages. Если говорить о Nemerle, то еще и метапрограммирование добавляется...
Re[54]: Ну ты вообще многого не видишь... ;)
От: WolfHound  
Дата: 22.06.09 06:49
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Супер! Поскольку о задаче ты не имеешь никакого представления, то это твое утверждение означает, что ты готов решить любую задачу, причем с блеском, да еще и неожиданным для меня способом! Ну и ну!

Ты сам не раз говорил про числомолотилки.
Я это умею. Через одну из них прошло никак не меньше 50 миллионов изображений.
Причем умею применять в том числе волшебные методы...
Сейчас изучаю очередную магию на эту тему...

WH>>Яндекс большой и движков там много.

WH>>И таки да я писал движки которые живут в продакшене под нагрузкой.
PD>Это не ответ. Являются ли эти движки (или их части) критическими по времени ?
Прочитай выделенное.

PD>Супер! В общем , все ясно — "по этому вопросу есть два мнения, одно мое, другое неправильное"

Зеркало принести?

PD>Точно, полное непонимание. До сих пор дисковой подсистемой называлось нечто иное.

Дисковая подсистема это то что работает с дисками.
Можно конечно ручками но зачем?
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.