Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A KÖVETKEZŐKRE VONATKOZIK:
MongoDB vCore
A háttérindexelés olyan technika, amellyel az adatbázisrendszer indexelési műveleteket hajthat végre egy gyűjteményen anélkül, hogy más lekérdezéseket vagy frissítéseket blokkolhat. A MongoDB-hez készült Azure Cosmos DB virtuális mag elfogadja a háttérindexelési kérést, és aszinkron módon végrehajtja a háttérben.
Ha kisebb rétegekkel vagy nagyobb I/O-igényű számítási feladatokkal dolgozik, javasoljuk, hogy előre definiálja az indexeket az üres gyűjteményeken, és ne támaszkodjon a háttérindexelésre.
Fontos
Javasoljuk, hogy üres gyűjteményeken hozzon létre unique indexeket, mivel azok előtérben jönnek létre, ami az olvasások és írások blokkolását eredményezi.
Javasoljuk, hogy előzetesen hozzon létre indexeket a lekérdezési predikátumok alapján, míg a gyűjtemény továbbra is üres. Megakadályozza az erőforrás-versengést, ha nagy méretű, intenzív olvasási és írási műveletekben használt gyűjteményen alkalmazzák.
Az index építésének figyelése
A parancs currentOp()használatával megismerhetjük az index buildelésének előrehaladását.
db.currentOp("db_name":"<db_name>", "collection_name":"<collection_name>")
-
db_namenem kötelező paraméter. -
collection_namenem kötelező paraméter.
// Output for reviewing build status
{
inprog: [
{
shard: 'defaultShard',
active: true,
type: 'op',
opid: '10000003049:1701252500485346',
op_prefix: Long("10000003049"),
currentOpTime: ISODate("2024-06-24T10:08:20.000Z"),
secs_running: Long("2"),
command: {createIndexes: '' },
op: 'command',
waitingForLock: true
},
{
shard: 'defaultShard',
active: true,
type: 'op',
opid: '10000003050:1701252500499914',
op_prefix: Long("10000003050"),
currentOpTime: ISODate("2024-06-24T10:08:20.000Z"),
secs_running: Long("2"),
command: {
createIndexes: 'BRInventory', },
indexes: [
{
v:2,
key: {vendorItemId: 1, vendorId: 1, itemType: 1},
name: 'compound_idx'
}
],
'$db': 'test'
op: 'command',
waitingForLock: false,
progress: {
blocks_done: Long("12616"),
blocks_done: Long("1276873"),
documents_d: Long("0"),
documents_to: Long("0")
},
msg: 'Building index.Progress 0.0098803875. Waiting on op_prefix: 10000000000.'
}
],
ok: 1
}
Korlátozások
- A háttérben nem hozhatók létre egyedi indexek. A legjobb, ha üres gyűjteményben hozza létre őket, majd betölti az adatokat.
- A háttérindexelés egymás után történik egyetlen gyűjteményen belül. A különböző gyűjteményekre épülő egyidejű indexek száma azonban konfigurálható (alapértelmezett: 2).