| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Въпрос за база данни. http://mcu-bg.com/mcu_site/viewtopic.php?f=14&t=8024 |
Страница 1 от 1 |
| Автор: | sv_shady [ Вто Авг 03, 2010 5:18 pm ] |
| Заглавие: | Въпрос за база данни. |
Здравейте, имам следното чудене. Пиша едно приложение, ще работи на сървър, получава картинка, намира разни обекти по нея и почва да сравнява с намерените обекти в други картинки. За сега като обработя картинка правя фаил, в които се помнят намерените обекти. Чудя се дали има смисъл отделните файлове да се заменят с една MySQL база дани, не знам как ще бъде като скорост четенето, как ще се държи въобще като цяло, досега не съм пускал база данни. Файловете ще станат някъде около 20000 броя и всеки от порядъка на 100к, тоест ако е една база данни ще стане мноогоо голяма, но пък 20000 файла, как ще се отрази на сървъра не знам, става въпрос за UNIX машина, а езика е С++. Ще съм много благодарен на всеки коментар и съвет. |
|
| Автор: | bobyk [ Вто Авг 03, 2010 6:18 pm ] |
| Заглавие: | |
Май в случая БД ще е по-лошия вариянт, 20000 х 100к = 2ГБ, което в БД ще е още повече, може би двойно и ще е и по-бавно. Дръж в БД каквото искаш, само не и самите картинки. |
|
| Автор: | goose [ Вто Авг 03, 2010 7:49 pm ] |
| Заглавие: | |
20000 файла в операционната система е по добре, от 20000 файла в един файл (щото това е mysql-a, той си държи таблиците във файлове) ... само си направи структура, така че в една папка да нямаш повече от 1024 файла, иначе почват проблемите |
|
| Автор: | miro_atc [ Вто Авг 03, 2010 9:13 pm ] |
| Заглавие: | |
Категорично БД! Не че не може да стане и с файлове, ама като има клещи циганина не си парел пръстите Въпросът не е само физическото съхранение, индексиране и т.н. Читавото решение изисква и дублиране/бакъп/клъстъринг/load balancing и куп прочие глупости. Не ти трябва да откриваш топлата вода, просто казваш на местния админ "трябва ми сървър с толкова голяма БД, такава производителност/надеждност и т.н.". Админът да си решава колко машини да пуска, как да ги конфигурира и поддържа. Също така е добре да не се хващаш да правиш и сървърната част. Дори и да няма HTML, сложи си един истински сървър а твоето С++ приложение го вържи през CGI или друг интерфейс. |
|
| Автор: | michev [ Сря Авг 04, 2010 1:39 am ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Зависи от структурата на файла. Ако той е фрагментиран по подходящ начин (до колкото знам някои, ако не всички SQL сървъри го правят), то е много по добре от колкото 20к файла от по 100к в една или няколко папки.
Човека каза, че ще ползва *NIX система, а не виндоус Относно въпроса - напълно подкрепям miro_atc Потърси нещо по бързо от MySQL, ако приложениео ти ще се използва интензивно. |
|||||||||||||||||||
| Автор: | woody [ Сря Авг 04, 2010 4:39 am ] |
| Заглавие: | |
Ако файловете няма да ги променяш, направи си един голям файл с всичките и подходящ индекс. После - mmap(). |
|
| Автор: | goose [ Сря Авг 04, 2010 7:55 am ] |
| Заглавие: | |
michev, точно за юникс система говоря :> Половината от командите включително и дел не могат да обработят повече от 2048 записа в папка, гърмят със съответната грешка :> Листването на папка с повече от 1024 файла става красиво, мога да ти дам статистика като се докопам до бачкането за няколко версии на лайнукс, фрибсд, аикс и юниксуер, за съжаление едни образи взеха парите навремето по темата (разбирай някой горе си прибра комисионните за тази боза) и се налага да бачкам с така сглобената простотия Колкото база или не - зависи каква информация пазиш, ако пазиш картинки в базата - определено не можеш да ползваш никаква функционалност от нея, ползваш я само за сторидж без да може да прави каквато и да е обработка :> П.С. Изключение от горното са някои от скъпите версии на Informix и DB2, те имат включени възможности за обработка на изображения, но силно се съмнявам в случая да са оправдани ценово :> |
|
| Автор: | sv_shady [ Сря Авг 04, 2010 10:05 am ] | |||||||||
| Заглавие: | ||||||||||
Няма да пазя картинката в базата данни, ами разните неща намерени в картинката.
С изброените неща горе, за да ми е мирна главата и да не откривам топлата вода, определено ще пусна една база данни, пък по изискване тя трябва да е MySQL. Мерси за отговорите. |
||||||||||
| Автор: | bobyper [ Сря Авг 04, 2010 2:09 pm ] |
| Заглавие: | |
Имаме доста натоварен WEB server на който има папка с над 4300 картинки. Няма проблем със скоростта при теглене на която и да е картинка. До скоро беше fedora а сега е centos |
|
| Автор: | plameniv [ Сря Авг 04, 2010 4:47 pm ] | |||||||||
| Заглавие: | ||||||||||
Бе някой хора сигурно се бъркат с бозавите Win проблеми |
||||||||||
| Автор: | goose [ Сря Авг 04, 2010 4:55 pm ] |
| Заглавие: | |
Мдам, изказах се леко прибързано ... днес погледнах как стоят нещата, цент-а се справя прилично, ядове имам под Aix и едно дърто bsd 4.7 (по исторически причини няма начин да бъде ъпдейтнато), на unixware лимита му е 4096, но над 1000 почва да бави жестоко ... Така че линукса го реабилитирам от моето изказване, и си посипвам главата с пепел за него :> |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|