Автор Тема: Питане за MySQL!  (Прочетена 7214 пъти)

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Питане за MySQL!
« Отговор #15 -: Oct 06, 2011, 10:19 »
Нормализираните бази винаги са по-бързи от денормализираните. Защо иначе ще се прави нормализация?

Не бих казал, че винаги е така ... Понякога е нужно да се направи денормализация за целите на анализ - най-често срещания пример е "последно състояние". Пример за който се сещам в момента (и е възможно да се прави със субселект) е състояние (сегмент) на "call" в callcenter - в опашката, поет от оператор, пренасочен от оператор и т.н. При една силно нормализирана база данни би трябвало да се пазят само записи (many-to-many, Call<->State) по отношение на състояние + дата/час. Но този начин на работа прави заявките за анализ (репорти) доста бавнички - има търсене на запис с най-голяма стойност на дата/час колоната. Най-простото решение е да се добави колона "последно състояние" към Call таблицата, което си е чиста проба денормализация.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Питане за MySQL!
« Отговор #16 -: Oct 06, 2011, 10:22 »
Говоря за нещо такова:
http://en.wikipedia.org/wiki/Data_warehouse#Normalized_versus_dimensional_approach_for_storage_of_data
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

vixon

  • Напреднали
  • *****
  • Публикации: 170
    • Профил
Re: Питане за MySQL!
« Отговор #17 -: Oct 06, 2011, 10:26 »
Сега да погледнем същото от страна на многозадачност и многопотребителност. При многопотребителност кой точно прави "актуалното състояние"? Охлюв, Костенурка, Орел и Гепард ни носят по една бира. Всеки променя моментното състояние и претендира то да е актуалното. Охлювът е донесъл бирата първи, но актуалната бележка е на бара. Дали той ще е в състояние да отрази реалното състояние?
Активен

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: Питане за MySQL!
« Отговор #18 -: Oct 06, 2011, 10:29 »
Много благодарство на всички, започвам да цепя 30ГВ - /, 1ГБ - SWAP и останалото /home
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Питане за MySQL!
« Отговор #19 -: Oct 06, 2011, 10:29 »
Нещо не можах да разбера какво точно показваш. Би ли опитал да се използваш моя пример?
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Питане за MySQL!
« Отговор #20 -: Oct 06, 2011, 10:38 »
//off

Сега да погледнем същото от страна на многозадачност и многопотребителност. При многопотребителност кой точно прави "актуалното състояние"? Охлюв, Костенурка, Орел и Гепард ни носят по една бира. Всеки променя моментното състояние и претендира то да е актуалното. Охлювът е донесъл бирата първи, но актуалната бележка е на бара. Дали той ще е в състояние да отрази реалното състояние?

Не е ли малко рано за бири?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Питане за MySQL!
« Отговор #21 -: Oct 06, 2011, 10:47 »
http://en.wikipedia.org/wiki/Denormalization

Цитат
In computing, denormalization is the process of attempting to optimise the read performance of a database by adding redundant data or by grouping data.[1][2] In some cases, denormalisation helps cover up the inefficiencies inherent in relational database software. A relational normalised database imposes a heavy access load over physical storage of data even if it is well tuned for high performance.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

vixon

  • Напреднали
  • *****
  • Публикации: 170
    • Профил
Re: Питане за MySQL!
« Отговор #22 -: Oct 06, 2011, 11:39 »
Можем да спорим до безкрайност. Тъй като аз самия доста съм проектирал бази работещи с високо натоварване, досега нормализираните са били винаги по-ефективни.
Активен

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
Re: Питане за MySQL!
« Отговор #23 -: Oct 06, 2011, 12:14 »
Нормализацията не е лек за всичко ;) (y)
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Питане за MySQL!
« Отговор #24 -: Oct 06, 2011, 12:41 »
Нормализацията не е лек за всичко ;) (y)

Жив пример за това са: twitter, faceboog, digg.com
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

Acho

  • Напреднали
  • *****
  • Публикации: 5296
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: Питане за MySQL!
« Отговор #25 -: Oct 06, 2011, 13:15 »
Ама той backinblack вече го купи и метна да цепи диска и да инсталира. Ама то 5 GB, 10 GB, нормализации - свърши вече, машината е избрана и купена. Дано да си свърши работата и да е доволен колегата.
Активен

CPU - Intel Quad-Core Q8400, 2.66 GHz; Fan - Intel Box; MB - Intel G41M-T2; RAM - DDR2-800, Kingston HyperX, 2X2048 MB; VC - onboard, Intel G41 Express Chipset; HDD - Toshiba, 500 GB, SATAII; SB - Realtek HD Audio; DVD-RW - TSSTcorp DVD-RW; LAN - Realtek PCI-E GBE Controller; PSU - Fortron 350 Watt.

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Питане за MySQL!
« Отговор #26 -: Oct 06, 2011, 13:40 »
Можем да спорим до безкрайност. Тъй като аз самия доста съм проектирал бази работещи с високо натоварване, досега нормализираните са били винаги по-ефективни.

Не споря  - изказвам мнение  [_]3

Със сигурност не мога да твърдя, че съм работил кой знае колко с много големи бази данни. Реално, може бе 2-3 пъти. В единия случай беше за callcenter с около 120'000 записа на ден (100 агента "пишещи" и към 20 teamleader-и/supervisori-и четящи) само за обажданията. Това ми е и най-голямата база май - Postgre SQL :)

В началото, дизайнът на ДБ винаги го правя в най-нормализиран вариант. След това, ако се появят проблеми може и да има някаква денормализация или изнасяне на "offline" view-та за преглед в не реално време.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: Питане за MySQL!
« Отговор #27 -: Oct 06, 2011, 14:57 »
Въпроса ми бе риторичен, че нямам никакъв опит с mysql, а за лични цели нямам и нужда от него, но въпросното компютърче и диск съм ги купил с друга цел, но искам да пробвам дали ще има пазар при мен в провинцията за едно такова мултифункционално устроиство предварително нагласено и след това само бастър копче - работи и бастър копче - не работи, без монитор, евентуални донастройки с webmin, xrdp или vnc и евентоалните потенциални клиенти да го ползват за рутер, файлов сървър, евентоално база данни сървър за микроинвест склад про или уарехаус с не повече от 10-15 клиентски машинки, евентуално камерки за видеонблюдение да са на него и някакво просто сайтче да си хостне, щото така и така ще е постоянно включен.
На мен лично ми трябва само рутера и ако ще си събирам рутер само за себе си, съвсем друга ще е машинката.
10ГБ база данни на складова програма, това е дейноста на фирма за повече от 5 години! Предостатъчно е! Въпроса ми беше дали ще може да работи нормално самия хардуер с такава база в периспектива?  В периспектива, и рутера и виртуалния уиндоус винаги могат да се изнесат на други машини и да се мислят други конфигурации.
Активен

vixon

  • Напреднали
  • *****
  • Публикации: 170
    • Профил
Re: Питане за MySQL!
« Отговор #28 -: Oct 06, 2011, 16:49 »
Ще работи. Точно за Microinvest Склад Pro са ни наблюденията на голямата база, достатъчно добре нормализирана. За да имате бързодействие увеличете следните настройки на сървъра:
а) Големината на Key Buffer;
б) Паметта за Temp таблиците;
в) Количеството памет за Query Cache.

Тези 3 параметъра могат да накарат сървъра да лети, при нашата програма таблиците са малко и еднотипни, затова силно се поддават на оптимизация.
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Питане за MySQL!
« Отговор #29 -: Oct 06, 2011, 18:02 »
Само да добавя, че при големи ДБ идеята да се пускат още услуги на машината не е добра. Стигне ли се до swapping ... жална ти майка :)
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
MySql малък проблем.
Хардуерни и софтуерни проблеми
Marto 6 4611 Последна публикация Sep 25, 2002, 12:32
от
mysql въпрос
Настройка на програми
dumi 0 1412 Последна публикация Oct 08, 2003, 06:42
от dumi
Perl + CGI,DBI + Mysql ili PHP + Mysql
Общ форум
jica 3 5333 Последна публикация Sep 07, 2004, 17:02
от jica
Mysql проблем със стартирането(mysql.sock missing)
Настройка на програми
coveka 6 7185 Последна публикация Mar 01, 2008, 22:02
от coveka
Mysql: can't connect to local mysql server
Настройка на програми
wonder 1 5589 Последна публикация Mar 16, 2008, 01:17
от neter