En un sentido básico, para muchos RDBMS:.
a) La etapa de análisis de sintaxis toma de entrada de la configuración del servidor (tomas de corriente, lo que sea) y convierte este SQL en un AST válida u otra forma intermedia.
b) Luego pasa esta información a un motor de almacenamiento que convierte esta descripción de consulta en un conjunto de búsquedas en índices, tablas, particiones, datos duplicados y otros elementos que conforman la semántica de almacenamiento del esquema
c) El motor luego devuelve un conjunto de datos que luego se proporcionan al cliente en cualquier forma (XML, CSV, específico del cliente).
Pero no hay una respuesta verdadera. Encontrará similitudes en los algoritmos de indexación, algoritmos de distribución, almacenamiento en caché, bloqueo y otras cosas ...pero las similitudes principales son la interfaz de lenguaje del lenguaje SQL en sí. Más allá de eso, pueden implementarse de la forma que deseen ... siempre que sus resultados cumplan con la semántica esperada de la consulta de entrada.
Realmente RDBMs contienen todo tipo de estructuras de ciencias de la computación ... y cada uno tiene métodos altamente desarrollados y especializados para convertir la semántica implícita de SQL en almacenamiento concreto.
Piense en qué tan diferentes son MySQL y Oracle ... o PostgreSQL y Microsoft SQL. Todos ellos intentan para cumplir con algún tipo de especificación similar a SQL común ... pero cómo se cumple esa especificación es diversa.
Los motores incorporan todo tipo de exóticos, índices especializados para encontrar la ubicación física de los datos, sistemas de almacenamiento en caché y más.
Hay toneladas de código abierto bases de datos tales como MySQL, PostgreSQL y búsqueda de sistemas tales como Sphinx se puede echar un vistazo a su aplicación. ¡El código abierto es para aprender tanto como cualquier cosa! Intenta encontrar un "mentor" que te guíe a través de la fuente.
Vea también: http://stackoverflow.com/questions/751236/relational-databases-there-has-to-be-more-right –