Guten Morgen,
ich möchte mir eine Klasse erstellen, wo ich mein SQL Query in MySQL und später in MongoDB einsetzen kann.
Sprich, eine Query Funktion für MySQL und MongoDB.
Warum ich das möchte: ich möchte später nicht jeden Query in jeder meiner Klasse nochmal bearbeiten, wenn ich auf MongoDB umsteige.
Auch ist der Grund, falls es später zuviele Daten gibt und MySQL dann dazu eine Ewigkeit braucht, bis dieser mir alle Informationen wieder gibt, die ich benötige. (Durch das richtige Setzen von INDEX kann MySQL eventuell die Anforderung bewältigen, aber bei Millionen von Daten wird das dann auch schwer). Sicher ist Sicher.
zurzeit würde ich das ungefähr so machen:
Es ist verdammt Schade, das MongoDB keine JOINS bearbeiten kann. So muss man mehrere Querys schreiben.
Gibt es Vor- und nachteile bei meinen Beispiel, wie ich es machen würde?
ich möchte mir eine Klasse erstellen, wo ich mein SQL Query in MySQL und später in MongoDB einsetzen kann.
Sprich, eine Query Funktion für MySQL und MongoDB.
Warum ich das möchte: ich möchte später nicht jeden Query in jeder meiner Klasse nochmal bearbeiten, wenn ich auf MongoDB umsteige.
Auch ist der Grund, falls es später zuviele Daten gibt und MySQL dann dazu eine Ewigkeit braucht, bis dieser mir alle Informationen wieder gibt, die ich benötige. (Durch das richtige Setzen von INDEX kann MySQL eventuell die Anforderung bewältigen, aber bei Millionen von Daten wird das dann auch schwer). Sicher ist Sicher.
zurzeit würde ich das ungefähr so machen:
PHP-Code:
class Database {
//hier wird später entschieden, ob MySQL oder MongoDB (sprich JSON) eingesetzt werden soll
public function sql_query($table, $action, $where) {
self::getMySQLAction($action);
self::MySQLQuery($table, $action, $where);
}
private function getMySQLAction($action) {
switch(action) {
case 'insert':
$return = 'INSERT INTO';
break;
case 'update':
$return = 'UPDATE';
break;
//und so weiter;
}
return $return;
}
private function MySQLQuery($table, $action, $where) {
//Wandelt alles in einen normalen MySQL Query um und führt diesen dann aus
}
};
$database = new Database();
$sql_table = 'User';
$action = 'insert'
$where = array(
'WHERE' => array(
'spalte' => 'spalte_1',
'inhalt' => 'blabla',
'operator' => '='
)
);
$database->sql_query($sql_table, $action, $where);
Gibt es Vor- und nachteile bei meinen Beispiel, wie ich es machen würde?
Kommentar