Ի՞նչ է IndexedDB-ը
Ի՞նչ է IndexedDB-ը և ինչպես է աշխատում
IndexedDB-ը բրաուզերում տվյալների պահպանման և մանիպուլյացիայի առաջադեմ մեթոդ է, որը թույլ է տալիս պահել մեծ քանակությամբ տվյալներ՝ օբյեկտների տեսքով, որոնք կառավարվում են տվյալների ինդեքսներով։ Ի տարբերություն LocalStorage-ի կամ SessionStorage-ի՝ IndexedDB-ն աջակցում է ավելի խրթին որոնումների, տվյալների կառուցվածքի և մեծածավալ տվյալների պահպանման։
IndexedDB-ը հատկապես օգտակար է այնպիսի դեպքերում, երբ մենք պետք է աշխատենք մեծ տվյալների կամ բարդ օբյեկտների հետ, որոնք չեն տեղավորվում սովորական պահման մեթոդների մեջ։
IndexedDB-ը աշխատում է այն սկզբունքով, որ մենք կարող ենք ստեղծել բազա (database), ապա տվյալներ ավելացնել, վերցնել կամ ջնջել այդ բազայից՝ օգտագործելով ինդեքսներ, որոնք հեշտացնում են տվյալների որոնումները։ Այն թույլ է տալիս աշխատել մեծ թվով օբյեկտների հետ՝ ապահովելով արագ հարցումներ և փոխազդեցություններ:
// IndexedDB-ն բացելու համար
const request = indexedDB.open('myDatabase', 1);
request.onsuccess = function(event) {
const db = event.target.result;
// Տվյալներ ավելացնելու համար
const transaction = db.transaction('store', 'readwrite');
const store = transaction.objectStore('store');
store.add({ id: 1, name: 'John' });
transaction.oncomplete = function() {
console.log('Տվյալները հաջողությամբ ավելացվեցին');
};
};
// Տվյալների որոնման համար
const request = indexedDB.open('myDatabase', 1);
request.onsuccess = function(event) {
const db = event.target.result;
const transaction = db.transaction('store', 'readonly');
const store = transaction.objectStore('store');
const getRequest = store.get(1);
getRequest.onsuccess = function(event) {
console.log(getRequest.result);
};
};
IndexedDB-ն օգտագործում է տվյալների պահման բազաներ (databases), պահոցներ (stores), և տրանսակցիաներ (transactions)։ Օրինակ՝ կարող ենք ստեղծել մեկ կամ ավելի պահոցներ տվյալների կազմակերպման համար։
Առավելությունները:
Թերությունները:
IndexedDB-ը հաճախ օգտագործվում է այն դեպքերում, երբ պետք է աշխատել մեծ թվով տվյալների կամ օբյեկտների հետ, որոնք չեն տեղավորվում այլ պահման մեթոդների մեջ։ Որպես օրինակներ՝ մենք կարող ենք դիտարկել հետևյալը:
IndexedDB-ն շատ հզոր և բազմակողմանի պահման մեթոդ է՝ թույլ տալով պահպանել մեծ և բարդ տվյալներ բրաուզերում։ Այն տրամադրում է շատ ավելի մեծ հնարավորություններ՝ տրամադրելով բազաների կառավարման և տվյալների որոնման գործիքներ։ Այն ամենակարևորն է, երբ աշխատում եք մեծ չափի կամ բարդ տվյալների հետ։ Ներկայումս, IndexedDB-ն օգտակար է շատ դեպքերում, հատկապես այն ծրագրերում, որոնք աշխատում են օնլայն/օֆլայն կամ պահանջում են ինտերակտիվ տվյալների մշակում։