Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Best practices i.v.m. indexer en/of datawarehouse

Pagina: 1
Acties:

  • SideShow
  • Registratie: Maart 2004
  • Laatst online: 30-10 17:25

SideShow

Administrator

Topicstarter
Ziehier de volgende web applicatie context (asp.net):

Een cms die enkel dient om data in te voeren. (php, mysql)
Vervolgens datalayer, business layer en een frontend (webforms c#). Deze waaier van 3 is het nieuwe systeem, sinds een half jaar.
Er is ook een indexing tool (solr/lucene), die items uit de trage cms database indexeert. Concreet worden de meeste woorden van het item geïndexeerd, gekoppeld met hun id; dit om zoekopdrachten in de frontend razend snel te maken. Solr geeft een collectie van id's die beantwoorden aan de zoekopdracht. Momenteel worden de items dan nog uit het cms gehaald en via custom ORM (hibernate of entities zijn ongeschikt momenteel) belanden ze in onze businesslayer.

Zoals al impliciet gezegd, lijkt het cms (php) en de database (mysql) nergens op kwa architectuur, normalisatie, ... de database is om te huilen, de php scripts ook. Tot overmaat van ramp is de API erop gewoon slecht en traag. Toch stapt onze klant in kwestie liever niet af van dit product.

Er worden momenteel twee mogelijkheden in acht genomen om de nieuwe web applicaties (frontend) snel te houden:

- ofwel gebruiken we onze indexer - solr - als een soort datawarehouse
- ofwel optimaliseren we de data uit het cms systeem en zetten het dus netjes in een correct geconfigureerde SQL-server(-database). Dit brengt dus een herhalende taak met zich mee van de data uit de cms d.b. te halen en deze automatisch in het nieuwe systeem te gieten. Naast het feit dat het ontwikkelen van deze algoritmes tijd in beslag neemt, is het overpompen van data misschien niet echt een probleem: men moet nu immers ook de indexer laten draaien na ingave van nieuwe zaken in het cms.

Nota: Solr gaat er niet tussenuit, die blijven we gewoon gebruiken voor zoekopdrachten (keuze van de klant) (en is nota bene verbluffend snel)

Wat zijn de "best practices" in dit geval? Het gaat dus over werkwijze, valkuilen, data-redundantie, onderhoud, ... en gewoon wat we nu eigenlijk best zouden doen.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Beetje lastig te zeggen zonder glazen bol. Of je voor het 'nieuwe' systeem (ik begrijp dat het oude PHP CMS systeem en de onderliggende MySQL DB sowieso blijven bestaan) alleen Solr of Solr + SQL gebruikt is puur afhankelijk van wat je er mee wil. Solr is een zoeksysteem dat faceted search aanbiedt, maar daar ga je niet makkelijk allerhande dataaggregaties op los laten.

Oftewel: zoek uit wat je voor het nieuwe systeem nodig hebt en baseer daar je keuzes op.

https://niels.nu


  • danslo
  • Registratie: Januari 2003
  • Laatst online: 14:44
Gewoon uit interesse, welk CMS gaat het hier over?