Disons que j'ai créé le tableau suivant:Simuler et la manipulation d'une base de données partitionné sur plusieurs sites
CREATE TABLE TABLE1
(
id INT NOT NULL
country VARCHAR(10) NOT NULL
name VARCHAR(10) NOT NULL
productType VARCHAR(10) NOT NULL
)
Si, par exemple, j'ai des valeurs différentes pour producType (type1, type2 .. etc) et je fais partitionnement basé sur ces types tels que partition1 est pour type1 et ainsi de suite. Et les valeurs possibles pour le pays sont: country1, country2 et country3. Comment puis-je effectuer ou simulent une fragmentation horizontale basée sur le pays, et être en mesure d'utiliser une commande semblable à ceci:
SELECT * FROM [email protected]
WHERE name = someName
Est-ce une exigence que la base de données doit être stocké sur plusieurs serveurs afin de être capable de faire ça? Si oui, existe-t-il une autre façon de le faire qui ne nécessite pas cela (sur Oracle 11g)?
Le sharding (partitionnement physique) n'est pas supporté avant 12c. Mais si vous ne voulez pas que les pays résident sur plusieurs serveurs, vous ne parlez pas de sharding de toute façon. Alors, qu'est-ce que vous voulez? – APC
Table Le partitionnement n'est pas considéré comme un sharding? Je fais une tâche dans laquelle je dois faire une fragmentation horizontale qui doit aussi être basée sur l'emplacement, donc je vais devoir utiliser des commandes dans lesquelles je devrai spécifier l'emplacement comme "@countryName" et je Je ne sais pas s'il est possible de le faire dans Oracle 11g sans avoir plusieurs serveurs mais seulement des tables partitionnées. –
Non. Le partage consiste à diviser une table entre plusieurs instances de base de données. Le partitionnement organise la disposition d'une table dans une base de données. – APC