|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 9:57 pm
|
Страница 1 от 1
|
[ 12 мнения ] |
|
| Автор |
Съобщение |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
 Въпрос за база данни.
Здравейте, имам следното чудене. Пиша едно приложение, ще работи на сървър, получава картинка, намира разни обекти по нея и почва да сравнява с намерените обекти в други картинки. За сега като обработя картинка правя фаил, в които се помнят намерените обекти. Чудя се дали има смисъл отделните файлове да се заменят с една MySQL база дани, не знам как ще бъде като скорост четенето, как ще се държи въобще като цяло, досега не съм пускал база данни. Файловете ще станат някъде около 20000 броя и всеки от порядъка на 100к, тоест ако е една база данни ще стане мноогоо голяма, но пък 20000 файла, как ще се отрази на сървъра не знам, става въпрос за UNIX машина, а езика е С++. Ще съм много благодарен на всеки коментар и съвет.
|
| Вто Авг 03, 2010 5:18 pm |
|
 |
|
bobyk
Ранг: Ориентиран
Регистриран на: Пон Яну 09, 2006 11:32 am Мнения: 276 Местоположение: Kozloduy
|
Май в случая БД ще е по-лошия вариянт, 20000 х 100к = 2ГБ, което в БД ще е още повече, може би двойно и ще е и по-бавно. Дръж в БД каквото искаш, само не и самите картинки.
|
| Вто Авг 03, 2010 6:18 pm |
|
 |
|
goose
Ранг: Популярен
Регистриран на: Сря Окт 03, 2007 3:39 pm Мнения: 311
|
20000 файла в операционната система е по добре, от 20000 файла в един файл (щото това е mysql-a, той си държи таблиците във файлове) ...
само си направи структура, така че в една папка да нямаш повече от 1024 файла, иначе почват проблемите 
_________________ In God we trust. All others must submit an X.509 Certificate
|
| Вто Авг 03, 2010 7:49 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Категорично БД!
Не че не може да стане и с файлове, ама като има клещи циганина не си парел пръстите
Въпросът не е само физическото съхранение, индексиране и т.н. Читавото решение изисква и дублиране/бакъп/клъстъринг/load balancing и куп прочие глупости. Не ти трябва да откриваш топлата вода, просто казваш на местния админ "трябва ми сървър с толкова голяма БД, такава производителност/надеждност и т.н.". Админът да си решава колко машини да пуска, как да ги конфигурира и поддържа.
Също така е добре да не се хващаш да правиш и сървърната част. Дори и да няма HTML, сложи си един истински сървър а твоето С++ приложение го вържи през CGI или друг интерфейс.
|
| Вто Авг 03, 2010 9:13 pm |
|
 |
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 10:16 am Мнения: 1730
|
Зависи от структурата на файла. Ако той е фрагментиран по подходящ начин (до колкото знам някои, ако не всички SQL сървъри го правят), то е много по добре от колкото 20к файла от по 100к в една или няколко папки.
Човека каза, че ще ползва *NIX система, а не виндоус
Относно въпроса - напълно подкрепям miro_atc
Потърси нещо по бързо от MySQL, ако приложениео ти ще се използва интензивно.
|
| Сря Авг 04, 2010 1:39 am |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Ако файловете няма да ги променяш, направи си един голям файл с всичките и подходящ индекс. После - mmap().
|
| Сря Авг 04, 2010 4:39 am |
|
 |
|
goose
Ранг: Популярен
Регистриран на: Сря Окт 03, 2007 3:39 pm Мнения: 311
|
michev, точно за юникс система говоря :>
Половината от командите включително и дел не могат да обработят повече от 2048 записа в папка, гърмят със съответната грешка :> Листването на папка с повече от 1024 файла става красиво, мога да ти дам статистика като се докопам до бачкането за няколко версии на лайнукс, фрибсд, аикс и юниксуер, за съжаление едни образи взеха парите навремето по темата (разбирай някой горе си прибра комисионните за тази боза) и се налага да бачкам с така сглобената простотия
Колкото база или не - зависи каква информация пазиш, ако пазиш картинки в базата - определено не можеш да ползваш никаква функционалност от нея, ползваш я само за сторидж без да може да прави каквато и да е обработка :>
П.С. Изключение от горното са някои от скъпите версии на Informix и DB2, те имат включени възможности за обработка на изображения, но силно се съмнявам в случая да са оправдани ценово :>
_________________ In God we trust. All others must submit an X.509 Certificate
|
| Сря Авг 04, 2010 7:55 am |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Няма да пазя картинката в базата данни, ами разните неща намерени в картинката.
С изброените неща горе, за да ми е мирна главата и да не откривам топлата вода, определено ще пусна една база данни, пък по изискване тя трябва да е MySQL. Мерси за отговорите.
|
| Сря Авг 04, 2010 10:05 am |
|
 |
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 10:16 am Мнения: 1730
|
goose, не съм съгласен.
Линукс потребител съм от доста време и не съм забелязвал тези проблеми за които говориш. За да не говоря напразно - направих малък тест:
генерираме си i на брой фала в /tmp/
Стартирам 2 пъти файла. ми дава 4126 файла (все пак има и друг боклук там). Команда ls, минава за под 1 секунда! , също се изпълнява много бързо и резултата е 4096 изтрити файла.
|
| Сря Авг 04, 2010 1:27 pm |
|
 |
|
bobyper
Ранг: Ориентиран
Регистриран на: Вто Яну 31, 2006 11:11 pm Мнения: 295 Местоположение: София
|
Имаме доста натоварен WEB server на който има папка с над 4300 картинки. Няма проблем със скоростта при теглене на която и да е картинка. До скоро беше fedora а сега е centos
|
| Сря Авг 04, 2010 2:09 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
Бе някой хора сигурно се бъркат с бозавите Win проблеми 
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Сря Авг 04, 2010 4:47 pm |
|
 |
|
goose
Ранг: Популярен
Регистриран на: Сря Окт 03, 2007 3:39 pm Мнения: 311
|
Мдам, изказах се леко прибързано ... днес погледнах как стоят нещата, цент-а се справя прилично, ядове имам под Aix и едно дърто bsd 4.7 (по исторически причини няма начин да бъде ъпдейтнато), на unixware лимита му е 4096, но над 1000 почва да бави жестоко ...
Така че линукса го реабилитирам от моето изказване, и си посипвам главата с пепел за него :>
_________________ In God we trust. All others must submit an X.509 Certificate
|
| Сря Авг 04, 2010 4:55 pm |
|
|
|
Страница 1 от 1
|
[ 12 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 10 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|