Сейчас на форуме: kris_sexy, site-pro, vasilevradislav (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› Что быстрее: БД или самопальный аналог?
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 29 марта 2007 20:37
· Личное сообщение · #1

Вопрос может показаться несколько странным, но... есть что хранить: строчки (байт по 65), строковой параметр (байт так 15) и дату (но можно может быть и обойтись).
Раньше была база Access, подрубленая через ODBC. Для обращения из Делфи юзал TConnections, TQuery и всякие датасурсы. Скорость явно не устраивала (может быть я не умею работать с БД), т.к. выборки и выгребания данных занимали около секунды на 50 (да, всего 50) Мб базе. То ли опыта работы с БД мало, то ли компоненты медленные, то ли ОДБЦ. Я вот думаю, может быть быстрее было бы вручную обрабатывать файл сообственного формата? У меня есть ещё как вариант раскидать всё в текстовики, в имени которых будет содержаться параметр и работать как с набором строк. Время критично, а всякие ODBC, BDE не переношу =(

Подскажите плз способ хранения данных... В проектировании БД ошибки исключены, т.к. просто нечего проектировать. Одна табличка и два-три поля.

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 31 марта 2007 07:46
· Личное сообщение · #2

Nimnul
+1. В плане самопальной самый верный подход.



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 31 марта 2007 10:07
· Личное сообщение · #3

Nimnul, NaumLeNet, 100% согласен, даже без коментов. Я думал уже об индексах, двоичных деревьях и хеш таблицах. От деревьев наверное откжусь пока, т.к. знаком только поверхностно. Возможно уделю побольше внимания хэш-таблицам.
И на будущее изучу предложения других откликнувшихся авторов

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

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 31 марта 2007 10:20
· Личное сообщение · #4

Nimnul
1. Когда пишешь прогу на коммерцию, то ты обязан использовать как можно больше оттестированных вещей, иначе трата времени(а оно деньги) на бесполезную отладку своих велосипедов
2. xml кросс-платформенный, в случае если прога пришлась по душе и линуксоидам, с xml ее быстро перевести на линукс или другие платформы(а такой вариант всегда надо предполагать)
3. Если человек пишет свой самапал, ему надо написать его таким, чтобы не точто соседу-коллеге Ване разобраться, но и самому надо суметь! Я часто слышу: "Бля, Серый я вот открыл проект годичной давности и как я так мог программить? УЖОСНАХ!" и такое говорят люди с хорошим опытом. При примении стандартных вещей экономится время при анализе кода в будущем, а это очень важно при сопровождении проекта, не говоря уж о сопровождении несколькими людьми.
4. ODBC удобно, не спорю, но для других задач. ПОчитай пост автора №2 и ты увидишь что для такой задачи наиболее подходят: FireBird, DBISAM, xml, TDBF - но он не удобен тем что там нужно придерживаться того заголовка который с самого начала придумал, что не всегда удобно.

-----
My love is very cool girl.




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 31 марта 2007 11:30
· Личное сообщение · #5

А есть такие компеляторы, которым можно скормить TurboDelphi прожект так чтобы он стал каким-нибудь никсовым?
theCollision пишет:
"Бля, Серый я вот открыл проект годичной давности и как я так мог программить? УЖОСНАХ!"

С кем не бывает

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 31 марта 2007 12:30 · Поправил: AlexZ
· Личное сообщение · #6

theCollision, ты всё правильно говоришь по поводу изобретения велосипедов, но:
1) Человек, обученый классно делать один продукт при необходимости создать что-то может оказкаться в ситуации, когда вынужден бегать по углам и кричать: "Мне надо написать прогу для работы с БД, дайте мне компонент для работы с БД!"
2) Человек, обученый подобным подходам перед решением малейшей задачи сядет и будут выгрызать теорию до посинения, в то время как другой просто сядет и напишет.

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 31 марта 2007 17:26
· Личное сообщение · #7

theCollision пишет:
2. xml кросс-платформенный, в случае если прога пришлась по душе и линуксоидам, с xml ее быстро перевести на линукс или другие платформы(а такой вариант всегда надо предполагать)

лол? назвать xml "кросс-платформенным" - это жесть ) xml тут не вариант, это 100%. без обид, но призадумайся на тем где стоит использовать xml, а где нет, а тем более ради чего - xml ради кросс-платформенности... мда.

с остальными твоими пунктами от части согласен )

AlexZ пишет:
А есть такие компеляторы, которым можно скормить TurboDelphi прожект так чтобы он стал каким-нибудь никсовым?

м-да. боюсь что простых решения нету, но попробуй лазарус / fpc, но верняк придется часть кода оформлять в виде блоков {$IFDEF FPC} ... {$ELSE} ... {$ENDIF}.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 31 марта 2007 17:35
· Личное сообщение · #8

NaumLeNet
1) Изначально этот xml был задуман для замены html(читай любой справочник\книга по xml), причина для повышения быстродействия, возможность более гибкой разметки текста,путем введения своих схем и главное требование повышение кросс-платформенности
2) аргумент если ты не знал, то сейчас чуть ли не каждая СУБД может экспортировать свои данные в xml, почему?
3) Даже такая технология как OPC была дополнена XML, почему?
4) Громадное кол-во WEB-ресурсов использует XML технологии, почему?

Читай доки и просвящайся.

-----
My love is very cool girl.




Ранг: -4.4 (нарушитель)
Активность: 0.020
Статус: Участник

Создано: 31 марта 2007 17:46
· Личное сообщение · #9

theCollision пишет:
2) аргумент если ты не знал, то сейчас чуть ли не каждая СУБД может экспортировать свои данные в xml, почему?

А почему они еще умеют экспортировать в .txt, .sql, .xls и еще кучу форматов?
И почему ни одна нормальная база не хранит все свои данные в xml?

theCollision пишет:
3) Даже такая технология как OPC была дополнена XML, почему?
4) Громадное кол-во WEB-ресурсов использует XML технологии, почему?

Потому что это сейчас модно

Лично я считаю, что стоит использовать маленькую встраиваемую БД sqlite, так как это оптимальный компромисс между производительностью и скоростью разработки. Если нужна экстремальная производительность, то тут однозначно нужен свой формат, затачиваемый под конкретную задачу.
Если экстремальные нагрузки не предвидятся, то не вижу смысла делать велосипед.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 31 марта 2007 18:24
· Личное сообщение · #10

>>>Потому что это сейчас модно
1) Программисты как были ленивы таковыми и остаются по сей день и уж поверь,если они что-то и делают, то только для того чтобы облегчить себе жизнь.
2) Множество технологий создавались,создаются и будут создаваться не просто так, а с конкретно определенной целью! А xml технология, но множестве курсов обучения, книгах,статьях идет разговор о XML-технологиях.
3) К сведению на основе xml существую даже Базы данныХ,т.е. СУБД работают не с каким нить dbf(как Oracle, об этом говорит OEM->..->tablespaces), а именно в xml. Потому что это удобно и при малых кол-вах данных по отражению в БД предметной области, xml в выигрыше!

Читать "Введение в системы Баз Данных" К.Дж. Дейт 8е издание. о преимуществах XML
Читать OPC-XML DA - opcfoundation.com может продать спецификацию
Читать специкацию к XML
Спросить любого WEB-программера
Посмотреть файлы проектов к BDS2005 и выше, файлы проектов к MS Visual Studio.
Это не модно, это удобно!

ЗЫ:
Я не пропагандист, а всего лишь указываю нато что XML это самое удобное, что могли придумать программисты! (На данный моммент я отказался от ini в сторону XML, на Delphi код стал проще).
Но это мое мнение, придет время, каждый разработчик заказов, рано или поздно столкнется с XML, по работает и поймет, что я был прав.

-----
My love is very cool girl.





Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 31 марта 2007 20:02
· Личное сообщение · #11

NaumLeNet пишет:
Я думал уже об индексах, двоичных деревьях и хеш таблицах. От деревьев наверное откжусь пока, т.к. знаком только поверхностно. Возможно уделю побольше внимания хэш-таблицам.

Я на 200% уверен что задача, состоящая из одной таблицы на 2-3 поля не стоит даже 10-ой чати самопальной реализации хеш-таблиц, индексов и т.п.
Аффтару могу предложить 2 варианта:
1. Если в дальнейшем требуется реализация как минимум индексов (не говоря уже о внешних ключах ,триггерах и хранимых процедурах) то юзать Firebird+FIBPlus
2. Если п.1 не требуется то можно вполне обойтись DBF+TDBF(линку я давал в этом топике)
3. Если аффтар будет лелеять идею о самопальной организации базы данных, то аффтар просто конченный ламер , который совершенно себе не представляет во что ему выльется реализация всей этой байды.



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 31 марта 2007 20:15 · Поправил: AlexZ
· Личное сообщение · #12

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

Я представляю себе во что выльется реализация всей этой байды с нуля и ещё лучше представляю себе потраченое время на разбор существующих БД и БД компонент и написания с их помощью чего-либо быстрого и в короткие сроки.

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: -4.4 (нарушитель)
Активность: 0.020
Статус: Участник

Создано: 31 марта 2007 20:29
· Личное сообщение · #13

theCollision пишет:
2) Множество технологий создавались,создаются и будут создаваться не просто так, а с конкретно определенной целью! А xml технология, но множестве курсов обучения, книгах,статьях идет разговор о XML-технологиях.

Конечно не просто так. Ведь на каждой новой технологии можно сделать уйму бабла, продавая библиотеки, инструменты разработки, книги для нее. Главное прочно закрепить в сознаии рядового кодера придурка, что XML или .NET это круто, что это новое революционное достижение, и.т.д.
Ну а лет через 5 появиться очередная новомодная технология, и эти придурки будут в срочном порядке пересаживаться на нее, переписывая старый код и отдавая бабки ушлым аффтарам этих технологий.

theCollision пишет:
3) К сведению на основе xml существую даже Базы данныХ,т.е. СУБД работают не с каким нить dbf(как Oracle, об этом говорит OEM->..->tablespaces), а именно в xml. Потому что это удобно и при малых кол-вах данных по отражению в БД предметной области, xml в выигрыше!

На это можно ответить одно - всегда есть люди, которым нравиться делать все через хитроизогнутую задницу. Хотя явно, для некоторых в этом топике криворукость является примером для подражания.

theCollision
Ты фанатичный придурок, или пытаешся таким прикинуться? О какой производительности может быть речь, xml как язык разметки может быть на что-то годен, но как формат хранения данных в БД нигоден никуда. Скажем лежит у тебя гигабайтная таблицы в xml, и надо непрерывно выполнять запросы вроде select * from table with user = '12345' and id = 10. Даже на таком запросе, единственно возможный метод поиска - сканирование всего гигабайта. Про размер данных xml вобще говорить не хочеться, так как это пездец и ужоснах.
Ну а твоими книгами я могу тебе посоветовать только подтереться. А также можешь засунуть себе в задницу свои XML, ООП и .NET в придачу.

И скажу напоследок, можешь не пытаться дальше мне доказывать преимущества своего xml, я и так потрудиля написать много буков в этом посте. С фанатиками спорить бесполезно, так что в ответ на все следующие выпады буду просто посылать в самой грубой форме.



Ранг: -4.4 (нарушитель)
Активность: 0.020
Статус: Участник

Создано: 31 марта 2007 20:33
· Личное сообщение · #14

AlexZ
Ну а тебе я могу сказать вот что. За то время что ты потратил на пустопорожний пиздеж в этом топике, ты мог уже 10 раз хоть написать собственный формат хранения данных, хоть разобраться в любой БД.
А поэтому нехуй пиздеть, садись да пиши. Имхо это самый реальный совет какой тебе можно дать.




Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 31 марта 2007 20:40 · Поправил: NaumLeNet
· Личное сообщение · #15

AlexZ пишет:
Я представляю себе во что выльется реализация всей этой байды с нуля и ещё лучше представляю себе потраченое время на разбор существующих БД и БД компонент и написания с их помощью чего-либо быстрого и в короткие сроки.

не горячись ) dermatolog от части прав. время сравнимо. разве что от написания своей бд (only indexes из всего этого списка =), к примеру) получишь чуток кайфа и экспы, да и будешь знать ее как свои пальцы, хотя чего уж там знать то.

theCollision пишет:
1) Изначально этот xml был задуман для замены html(читай любой справочник\книга по xml), причина для повышения быстродействия, возможность более гибкой разметки текста,путем введения своих схем и главное требование повышение кросс-платформенности
2) аргумент если ты не знал, то сейчас чуть ли не каждая СУБД может экспортировать свои данные в xml, почему?
3) Даже такая технология как OPC была дополнена XML, почему?
4) Громадное кол-во WEB-ресурсов использует XML технологии, почему?

Читай доки и просвящайся.


1) возможно, тут спорить не буду. разметка действительно более гибкая, да и сам формат продуман.
2) лол. а ты не задумавался сам, почему? потому что xml - гибок в плане описания и распарсить его можно где угодно, чем угодно и как угодно. но почему при возможности экспорта в xml никто не отменяет .sql dump? )) для каждой задачи свое решение. и зря ты пытаешься навязать xml'ю волшебные свойства.

то что сейчас многие (в ряде проектов я сам так делал) используют XML для хранения данных проекта, конфигурации приложения - это лишь грань "открытости". формат изучен всеми от и до, он читабелен, он являет собой иерархическую структуру, позволяет хранить raw данные и т.д. )

оффтопя, ты забываешь о задачи топикстартера и о исходных данных )
"50 (да, всего 50) Мб базе" (с) AlexZ

попробуй сделать >50Mb БД на XML и на досуге сравнить скорости и удоство работы с ней с DBF (native) / ADO / FIB или самопальной БД в которой реализованы всего лишь индексы.

завязываем оффтоп по теме XML'я. если есть что обсудить, всегда буду готов подискутировать via PM.

Infernal_Terror
сколько тебе лет, парень? ) ты не понимаешь о чем говоришь. .NET, XML, все смешал в кучу и сделал отвратительный вывод о мировом заговоре ) эх, молодежж...



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 31 марта 2007 20:40 · Поправил: AlexZ
· Личное сообщение · #16

офф
Ява - истиный кроссплатформ )
/
Infernal_Terror пишет:
А поэтому нехуй пиздеть, садись да пиши. Имхо это самый реальный совет какой тебе можно дать.

Нехуй указывать сколько мне пиздеть, тем более что всё уже написано. Будет несколько баз по принципу по базе на параметр "имя" и будет она пять метров - текста можно напихать до охуения, а так же поддержка индексов. Делает выборку типа SELECT Text ... WHERE (param1 > X) and (param2 < Y) за 100 миллисек и это уже с экспортом т.е. я уже получаю эти данные из файла и могу ими оперировать.

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 31 марта 2007 20:54
· Личное сообщение · #17

AlexZ пишет:
Нехуй указывать сколько мне пиздеть

Аффтар - мудак, советов надовали на все случаи жизни - тему можно закрывать.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 31 марта 2007 20:56
· Личное сообщение · #18

dermatolog
В точку, еще чуть чуть и совсем не поделу, хотя уже начали не по делу!

-----
My love is very cool girl.




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 31 марта 2007 21:05
· Личное сообщение · #19

"Если же вы такие умные, то почему строем не ходите?.."

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: -4.4 (нарушитель)
Активность: 0.020
Статус: Участник

Создано: 01 апреля 2007 05:51 · Поправил: Infernal_Terror
· Личное сообщение · #20

NaumLeNet пишет:
сколько тебе лет, парень? ) ты не понимаешь о чем говоришь. .NET, XML, все смешал в кучу и сделал отвратительный вывод о мировом заговоре ) эх, молодежж...

Другие аргументы кончились, вот и переходишь на личности? Сколько не читаю форумных споров, рано или поздно везде возникает вопрос "сколько тебе лет". Сталобыть видно, что оригинальностью своих наездов ты не отличаешся, такое же быдло как и куча других форумных уебков. Но я с тобой препираться не буду, я просто скажу - иди нахуй, волосатое чудовище.

AlexZ пишет:
Нехуй указывать сколько мне пиздеть, тем более что всё уже написано.

Поздравляю, держи конфетку

Для тек, кто в танке: XML и .NET я ставлю в одну кучу как пример бесполезных технологий, созданых лишь для вытягивания бабла. Нафига спрашивается xml, если для конфигов программ есть .ini или .conf (синтаксис никсовых конфов более приятен) файлы, для хранения данных давно разработаны внутренние форматы БД, а для их переноса - SQL. .NET это вобще монстр созданый на пустом месте мелкософтом. По части кросплатформености его делает ява, ну а программы под винду и без него прекрасно пишуться.


<< . 1 . 2 .
 eXeL@B —› Крэки, обсуждения —› Что быстрее: БД или самопальный аналог?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати