Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.
oogjes open, snaveltjes dicht
Kijk misschien hier even: http://en.wikipedia.org/wiki/Database#Database_Internals
/edit: Damn you Don
Overigens: Waarom zou je moeten weten voor je product hoe een DB intern werkt? Het is toch juist goed dat je je daar niet druk over hoeft te maken als je met een DB aan te slag gaat? Zou wat worden...
[ Voor 41% gewijzigd door RobIII op 18-04-2006 14:55 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Die wiki geeft al een aardig beeld over hoe die info is opgeslagen. Het lijkt erop dat (voor bijvoorbeeld een RDBMS) alle informatie opgeslagen wordt in bestanden waarop dan, afhankelijk van het model, een binary-, hash- of anderssoortige tree op gemaakt wordt om hier snel informatie uit te halen.
Ik had verwacht dat er misschien één bepaald model 'standaard' zou zijn en dat hierin dan een aantal vaste technieken gebruikt werden.
Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.
hierbij neem je aan dat ik een product bouw OP / OM een bestaande database...Overigens: Waarom zou je moeten weten voor je product hoe een DB intern werkt? Het is toch juist goed dat je je daar niet druk over hoeft te maken als je met een DB aan te slag gaat? Zou wat worden...
Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.
Ja, want dat geef je zelf aan:Logos schreef op dinsdag 18 april 2006 @ 15:06:
[...]
hierbij neem je aan dat ik een product bouw OP / OM een bestaande database...
Hieruit haal ik toch écht dat je het niet wil namaken (en dus blijft "op/om" over...)Logos schreef op dinsdag 18 april 2006 @ 14:47:
Dit is niet nodig omdat ik het graag na zou willen maken, maar meer om te zien hoe het in elkaar zit en om dit te analyseren.
De informatie uit die WIKI is overigens véél te summier om er iets zinnigs over te kunnen zeggen. Zo worden tabellen lang niet altijd in losse bestanden opgeslagen, en zo weet je nog steeds niet hoe een index wordt opgeslagen (en al helemaal niet op "binair bestandsniveau", waar het juist het belangrijkst is om disk I/O tot een minimum te beperken) en zo zijn er nog -tig voorbeelden van dingen die je dient te weten als het om "interne structuur van een database" gaat.
Kortom: Je vraagstelling is onduidelijk. Mogen we misschien weten waarom je precies wil weten hoe het "onder de motorkap" werkt? Dan kunnen we je waarschijnlijk al beter in de juiste richting wijzen. Mijn idee so far is dat je iets aan het onderzoeken geslagen bent wat of totaal overbodig is om te weten, of waarvan je geen idee hebt wat het is.
[ Voor 10% gewijzigd door RobIII op 18-04-2006 15:12 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Ik vind dit zelf een heel aardig boek waarin veel verschillende onderwerpen redelijk goed aan bod komen. Verder is het boek goed te lezen (dus niet te droog).
en verder:Expert One on One Oracle. Ook een zeer uitgebreid boek over Oracle zijn interne structuren.
Maar ik denk dat iedere database leverancier op zijn eigen manier een database in elkaar zet. Als iedereen hetzelfde er mee om zou gaan, zou er ook geen behoefte zijn naar zoveel verschillende databases.
[ Voor 21% gewijzigd door Alarmnummer op 18-04-2006 15:16 ]
iets breder denken: het zou ook om iets compleet nieuws kunnen gaan, dus nog een optie. dit is meteen de reden waarom ik er niet veel over kwijt wil/kan.RobIII schreef op dinsdag 18 april 2006 @ 15:10:
[...]
Ja, want dat geef je zelf aan:
[...]
Hieruit haal ik toch écht dat je het niet wil namaken (en dus blijft "op/om" over...)
De informatie uit die WIKI is overigens véél te summier om er iets zinnigs over te kunnen zeggen. Zo worden tabellen lang niet altijd in losse bestanden opgeslagen, en zo weet je nog steeds niet hoe een index wordt opgeslagen (en al helemaal niet op "binair bestandsniveau", waar het juist het belangrijkst is om disk I/O tot een minimum te beperken) en zo zijn er nog -tig voorbeelden van dingen die je dient te weten als het om "interne structuur van een database" gaat.
Kortom: Je vraagstelling is onduidelijk. Mogen we misschien weten waarom je precies wil weten hoe het "onder de motorkap" werkt? Dan kunnen we je waarschijnlijk al beter in de juiste richting wijzen. Mijn idee so far is dat je iets aan het onderzoeken geslagen bent wat of totaal overbodig is om te weten, of waarvan je geen idee hebt wat het is.
Ik ben hier al langer mee bezig, maar ik heb nog nooit onderzocht of hetgeen ik heb gemaakt al ooit verzonnen was. Nu het concrete vormen aan begint te nemen, wordt dit soort onderzoek steeds meer noodzakelijk. Er is een mogelijkheid dat het zich al in een DBMS bevindt, maar dat kan ik dus blijkbaar niet echt makkelijk onderzoeken.
Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.
Thomas Kyte... die vent is echt vet actief. Misschien moet ik hem toch maar eens een mailtje sturen.Alarmnummer schreef op dinsdag 18 april 2006 @ 15:14:
Ik ben op dit moment veel aan het lezen over concurrency control in databases. Een van de boeken waar ik tegen aan gelopen ben is: Database Management Systems
Ik vind dit zelf een heel aardig boek waarin veel verschillende onderwerpen redelijk goed aan bod komen. Verder is het boek goed te lezen (dus niet te droog).
en verder:Expert One on One Oracle. Ook een zeer uitgebreid boek over Oracle zijn interne structuren.
Maar ik denk dat iedere database leverancier op zijn eigen manier een database in elkaar zet. Als iedereen hetzelfde er mee om zou gaan, zou er ook geen behoefte zijn naar zoveel verschillende databases.
Ik denk dat je op dat laatste punt wel gelijk hebt ja, het ligt er maar net aan wat voor data je op welke manier nodig hebt. Het is dan beter om bekende technieken dynamisch beschikbaar te maken zodat het systeem daar de beste uit kan kiezen.
bedankt voor de tips
Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.
Hiermee worden zowel tabellen als indices geïmplementeerd. Om constraints toe te passen worden bestaande of nieuwe indices gebruikt. Views worden meestal geïmplementeerd door de query plans op te slaan (en niet door de data in een view expliciet op te slaan; dit kan wel, maar maakt de database veel groter en updates van de echte tables trager).
In de wijze waarop isolation en durability gegarandeerd worden zijn meer verschillen. Mogelijke technieken zijn journalling (wat op zichzelf lastig te combineren is met isolatie van concurrente transacties), versioning of een combinatie van beide. Op dit gebied zijn ook veel gepatenteerde technieken.
[ Voor 7% gewijzigd door Soultaker op 18-04-2006 16:11 ]
hoe groot is de kans dat die boeken ook in de bieb te vinden zijn? ik schat vrijwel 0.
voor dat laatste (2-dimensionale indices) gebruiken we hier zelf quad-trees. Die werken op zich prima, al hebben ze niet de vrijheid en flexibiliteit van R-trees. ook hiervoor bedankt
Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.
je kiest ook wel even een onderwerp uitLogos schreef op dinsdag 18 april 2006 @ 16:17:
pffff dat wordt veel lezen.
Special voor jou dan . Hier bestel ik mijn boeken vaak, 2e hands, alleen maar positieve ervaringen.En de prijzen van die boeken zijn ook niet om over naar huis te schrijven
Ik geloof dat Postgres een heel aardige implementatie van R-trees heeft.voor dat laatste (2-dimensionale indices) gebruiken we hier zelf quad-trees. Die werken op zich prima, al hebben ze niet de vrijheid en flexibiliteit van R-trees. ook hiervoor bedankt
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.
Mwah, elke zichzelf respecterende universiteit die informatica aanbiedt zal dat wel in zijn bibliotheek hebben lijkt me zo. In een algemene, openbare bibliotheek geef ik je inderdaad niet veel kans.Logos schreef op dinsdag 18 april 2006 @ 16:17:
hoe groot is de kans dat die boeken ook in de bieb te vinden zijn? ik schat vrijwel 0.
My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant