DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > SQL baze podataka - Sponzor: Baze-Podataka.net
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka

Odgovori
 
Alati teme Način prikaza
Staro 05. 12. 2006.   #1
cvele
Banned
Knowledge base
 
Avatar cvele
 
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
cvele ima spektakularnu aurucvele ima spektakularnu auru
Default Boolean search na innodb

Ok ovo jeste malo... khm... mozda cak i nemoguce...

Dakle zbog mogucnosti koriscenja stranih kljuceva sve tabele su innodb tipa ali sada se ukazala potreba za boolean pretragama :/

Stvari kojima sam razmisljao su sledece:
1. Deljenje tabele na dva dela (da ne objasnjavam zasto... ali nije moguce)
2. Particionisanje tabele na dva dela... moguce ali imam osecaj da cu se ubiti kasnije pokusavajuci da prebacim procedure na production server i nisam siguran kako bi to uopste radilo ako su dva dela razlicitog tipa :/
3. Pokusaj da se boolean zameni like iskazima... overkill big overkill, tabela je ogromna tako da je preformance katastrofa


Ogranicenja... nemogu koristiti extenzije za mysql poput http://www.sphinxsearch.com
tabele moraju ostati innodb

Ima li nesto sto sa prevideo ? google mi nerece nista, ali nista osim na par mesta gde ljudi daju linkove ka sphinx

Neka pomoc ?
cvele je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #2
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

mislis na boolean fulltext search ?

mozes da napravis pomocne tabele, jednu sa spiskom nadjenih reci, drugu sa referencama na recorde gde se reci pojavljuju, i onda iz njih radis klasican select sa join-om...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #3
marinowski
Igor Marinović
Expert
 
Avatar marinowski
 
Datum učlanjenja: 09.06.2005
Lokacija: Palić
Poruke: 549
Hvala: 31
39 "Hvala" u 17 poruka
marinowski is on a distinguished road
Pošaljite ICQ poruku za marinowski
Default

Ako je u pitanju fulltext search, na flickru su to resili ovako: imaju bazu sa innodb tabelama u kojima nema fulltext indekse. Tu bazu repliciraju, ali kopije nisu innodb tipa, vec MyISAM na kojima jesu postavili fulltext indekse.

Na ovaj nacin izbegavaju problem pada performansi pri istovremenom citanju i pisanju iz baze (u innodb samo insertuju, iz MyISAM samo selectuju). Sa ovom elegantnom cakom su zaobisli problem nepostojanja fulltext indexa na innodb tabelama, a koristene su samo out-of-the-box mogucnosti MySQL-a.

Znam da tebi to treba za jedan server, ali reko' da napisem, mozda bude korisno posto nije ocigledno da kod replikacije mozemo menjati tip tabela.
marinowski je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #4
cvele
Banned
Knowledge base
 
Avatar cvele
 
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
cvele ima spektakularnu aurucvele ima spektakularnu auru
Default

covek svakim danom nauci nesto novo

@zigor
razmisljao sam o tome ali ne dovoljno ozbiljno, recimo sada sam prvi put saznao da mysql ima triggere

dakle finalno resenje ce biti kreiranje nove myisam tabele koja ce se puniti preko trigera
cvele je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #5
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Citat:
Originalno napisao cvele
dakle finalno resenje ce biti kreiranje nove myisam tabele koja ce se puniti preko trigera
Nešto slično koristim i kod activeCollaba s tom razlikom što se ne koriste trigeri već aplikacija insertuje podatke pri čuvanju objekta (INSERT ili UPDATE - jedna od lepih stvari kod dobro rešenog ORM-a je što možeš da izvedeš tako nešto bez hakeraja, samo se negde u stablu nasleđivanja uglaviš i dodaš šta ti treba).

Ovaj pristup ima veliku prednost jer možeš da akumuliraš pretražive podatke iz celog sistema na jedno mesto. Samo treba na neki način da održiš referencu na izvorni podatak i da znaš kako da matchevani row iz indexa prebaciš u odgovarajući row iz originalne tabele.

Dobro je znati da tako nešto može da bude rešeno na nivou baze. Doduše, MySQL5 je teška egzotika (mnogo veća od PHP5), ali ako radiš nešto custom gde možeš da kontrolišeš platformu mislim da je to prilično fino rešenje.

@zigor: ako ovo za mešanje enginea kod replikacija radi ulepšao si mi dan Sad samo da u neko dogledno vreme dodam podršku da skripta može da koristi dve različite konekcije za dve različite operacije (čitanje i pisanje) i problem rešen.

Poslednja izmena od Ilija Studen : 06. 12. 2006. u 10:13.
Ilija Studen je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #6
cvele
Banned
Knowledge base
 
Avatar cvele
 
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
cvele ima spektakularnu aurucvele ima spektakularnu auru
Default

da radi se o potpuno custum resenju kome ce platforma biti server specijalno podignut samo za tu aplikaciju, tako da mogu da pustim masti na volju i koristim svu egzotiku koju zelim

@ilija
nikako da se nateram da prevedem ono cudo nisam zaboravio
cvele je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #7
Dejan Topalovic
old school
Professional
 
Datum učlanjenja: 15.02.2006
Lokacija: Wien, Austria
Poruke: 304
Hvala: 121
47 "Hvala" u 26 poruka
Dejan Topalovic će postati "faca" uskoro
Pošaljite poruku preko MSN za Dejan Topalovic
Default

Moze MySQL svasta jos...

Postoji cak i partitioning, table splitting (na fixed i dynamic row size), kompresovanje radi brzeg selektovanja, triggers, views, stored procedures, events, podjela database direktorija na vise hard diskova radi boljih I/O performansi, dinamicko podesavanje buffera i session varijabli ... i td.

@cvele: U praksi jos nisam imao potrebu za necim ovakvim kao sto ti imas sad, ali vjerujem da bi razdvajanje na dvije tabele (jedna InnoDB i jedna MyISAM), kao sto je vec predlozeno, rijesilo tvoj problem...

Trenutno mi ne pada neko bolje rjesenje na pamet.
__________________
Blog: Baze podataka
------------------------
Oracle OCP DBA
Oracle OCE SQL Expert
Oracle OCP Developer
Certified MySQL DBA
Dejan Topalovic je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #8
kodi
133t
Master
 
Avatar kodi
 
Datum učlanjenja: 08.01.2006
Lokacija: Beograd
Poruke: 714
Hvala: 16
37 "Hvala" u 28 poruka
kodi is on a distinguished road
Pošaljite ICQ poruku za kodi
Default

Slucajno sam danas naleteo na sledeci text
Citat:
We used to use MyISAM for fulltext, duplicating the data in the InnoDB master table. Once the query rate grew sufficiently high and the data size grew past a gigabyte or so it became completely unacceptable on performance grounds, taking more than half of our database server capacity and still not working well. We abandoned it and switched to Lucene. By that point we were in the top thousand sites on the net, so it had survived pretty well.

I'm also as MySQL Support Engineer but these views are from my Wikipedia role, not the MySQL one.

James Day
ostatak texta (innoDB vs myisam)
http://mysqldatabaseadministration.b...reference.html
__________________
kodi je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #9
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

mysql se u principu ne snalazi najbolje kad tabela poraste preko ~1.4GB (moja odokativna procena), dodje do naglog pada perfomansi... mi smo krenuli da splitujemo tabele zbog toga, sto resi problem (mada naravno nije bas zgodno za search)
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 06. 12. 2006.   #10
kodi
133t
Master
 
Avatar kodi
 
Datum učlanjenja: 08.01.2006
Lokacija: Beograd
Poruke: 714
Hvala: 16
37 "Hvala" u 28 poruka
kodi is on a distinguished road
Pošaljite ICQ poruku za kodi
Default

Citat:
Originalno napisao ivanhoe
mysql se u principu ne snalazi najbolje kad tabela poraste preko ~1.4GB (moja odokativna procena), dodje do naglog pada perfomansi... mi smo krenuli da splitujemo tabele zbog toga, sto resi problem (mada naravno nije bas zgodno za search)
govorsi za myisam ili uopsteno?
__________________
kodi je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Boolean full-text search ivanhoe SQL baze podataka - Sponzor: Baze-Podataka.net 4 03. 06. 2009. 02:35
phpMyAdmin i innodb ? misko_ SQL baze podataka - Sponzor: Baze-Podataka.net 3 03. 06. 2008. 15:06
mysql full text search u boolean modu ivanhoe SQL baze podataka - Sponzor: Baze-Podataka.net 1 11. 05. 2007. 22:59
PHP Manual tag, Google search tag, Yahoo search tag i jos neki :) bluesman Obaveštenja, predlozi i pitanja 24 25. 02. 2006. 11:08


Vreme je GMT +2. Trenutno vreme je 16:13.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.