맨위로가기

Indexed Database API

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Indexed Database API(IndexedDB)는 웹 브라우저 내에서 트랜잭션 방식으로 데이터를 저장하고 관리할 수 있는 API이다. 파이어폭스 4, 크롬 11, 인터넷 익스플로러 10, 사파리 8, 엣지 12 버전부터 지원이 시작되었다. 이전에는 Web SQL 데이터베이스가 사용되었으나 파이어폭스의 반대로 표준화되지 못하고 IndexedDB로 대체되었다. IndexedDB는 NoSQL 데이터베이스와 유사하게 JSON 객체를 저장하며, 2015년 1.0, 2018년 2.0 버전이 W3C 권고안으로, 2021년 3.0 버전이 작업 초안으로 발표되었다. IndexedDB는 브라우저 내에서 실행되어 보안 계층으로 인해 성능 저하가 있을 수 있으며, 북마크, 이메일 등 웹 애플리케이션에 활용된다.

더 읽어볼만한 페이지

  • 데이터베이스 API - 임베디드 SQL
    임베디드 SQL은 호스트 프로그래밍 언어 내에 SQL 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다.
  • 데이터베이스 API - ODBC
    ODBC는 응용 프로그램이 데이터베이스 관리 시스템에 접근하도록 하는 표준 API로서, 서로 다른 데이터베이스에 대한 접근 방식을 표준화하여 응용 프로그램이 데이터베이스 종류에 관계없이 동일한 코드로 데이터에 접근하도록 하며, 드라이버 관리자와 데이터베이스 시스템에 특화된 명령으로 변환하는 드라이버로 구성된다.
  • W3C 표준 - HTML
    HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다.
  • W3C 표준 - 타임드 텍스트
    타임드 텍스트는 영상이나 오디오 콘텐츠에 시간 정보를 담아 표현되는 텍스트로, 자막이나 캡션 등에 활용되며 TTML, WebVTT 등의 표준이 존재한다.
Indexed Database API
개요
종류NoSQL 데이터베이스
일반 정보
이름Indexed Database API
다른 이름색인화된 데이터베이스 API
약칭IndexedDB
상세 정보
상태첫 번째 공개 작업 초안
버전3.0
버전 날짜2021년 3월 11일
개발
시작 년도알 수 없음
최초 게시알 수 없음
조직W3C
구글
마이크로소프트
모질라^
오라클^
위원회웹 애플리케이션 워킹 그룹
편집자Ali Alabbas^
Joshua Bell^
이전 편집자Nikunj Mehta
Jonas Sicking
Eliot Graff
Andrei Popescu
Jeremy Orlow
기반 표준HTML DOM
파일 API
Infra Standard
JSON
스토리지 표준
관련 표준HTTP 쿠키
Web SQL Database
웹사이트IndexedDB 공식 웹사이트

2. 역사

IndexedDB는 파이어폭스 4,[6] 구글 크롬 11,[7] 인터넷 익스플로러 10,[8] 사파리 8,[9] 마이크로소프트 엣지 12 버전에 지원이 추가되었다.[10]

Web SQL 데이터베이스는 애플이 개발한 이전 API였다.[11] 그러나 파이어폭스는 SQLite의 특징을 코드화한다는 이유로 표준이 되는 것에 반대하며 지원을 거부했다.[12][13] 그 결과, Web SQL 데이터베이스는 IndexedDB에 밀려 더 이상 사용하지 않게 되었다.[14]

IndexedDB 1.0은 2015년 1월 8일에 W3C 권고안이 되었다.[15] IndexedDB 2.0은 2018년 1월 30일에 W3C 권고안이 되었다.[16][17] IndexedDB 3.0은 2021년 3월 11일에 최초 공개 작업 초안으로 출시되었으며, 2024년 12월 3일 현재 작업 초안 상태이다.[18]

2. 1. 개발 배경

IndexedDB에 대한 지원은 파이어폭스 4 버전,[6] 구글 크롬 11 버전,[7] 인터넷 익스플로러 10 버전,[8] 사파리 8 버전,[9]마이크로소프트 엣지 12 버전에 추가되었다.[10]

Web SQL 데이터베이스는 애플이 개발한 이전 API였으나, 파이어폭스는 SQLite의 특징을 코드화할 것이라는 이유로 표준이 되는 것에 반대하며 지원을 거부했다.[11][12][13] 따라서 Web SQL 데이터베이스는 IndexedDB에 밀려 더 이상 사용하지 않게 되었다.[14]

''IndexedDB 1.0''은 2015년 1월 8일에 W3C 권고안이 되었다.[15] ''IndexedDB 2.0''은 2018년 1월 30일에 W3C 권고안이 되었다.[16][17] ''IndexedDB 3.0''은 2021년 3월 11일에 최초 공개 작업 초안으로 출시되었으며, 2024년 12월 3일 현재 작업 초안으로 남아 있다.[18]

2. 2. Web SQL 데이터베이스와의 관계

Web SQL 데이터베이스는 애플이 개발한 이전 API였다.[11] 그러나 파이어폭스는 이에 대한 지원을 거부했으며, SQLite의 특징을 코드화할 것이라는 이유로 표준이 되는 것에 반대했다.[12][13] 따라서 IndexedDB를 선호하여 더 이상 사용하지 않게 되었다.[14]

Safari 3.1, Google Chrome 4, Opera 10.50[27]SQLite를 기반으로 한 또 다른 유사한 클라이언트 측 데이터베이스인 Web SQL Database도 구현했다.[28] 2010년 11월 18일, W3C는 Web SQL Database를 폐기 사양으로 지정했다.[29] 파이어폭스 개발자는 파이어폭스에서 Web SQL Database를 구현하지 않은 것은 의도적인 것이며, SQLite를 기반으로 하여 중립성이 결여된 문제가 있는 사양이므로 다른 사양(Indexed DB)이 필요하다고 공언했다.[30]

2. 3. 버전별 발전 과정

IndexedDB는 파이어폭스 4 버전,[6] 구글 크롬 11 버전,[7] 인터넷 익스플로러 10 버전,[8] 사파리 8 버전,[9]마이크로소프트 엣지 12 버전에 추가되었다.[10]

IndexedDB 이전에는 Web SQL 데이터베이스라는 API가 존재했다.[11] 이 API는 애플이 개발했지만, 파이어폭스는 SQLite의 특징을 코드화한다는 이유로 표준이 되는 것에 반대하며 지원을 거부했다.[12][13] 결국 Web SQL 데이터베이스는 IndexedDB에 밀려 더 이상 사용하지 않게 되었다.[14]

''IndexedDB 1.0''은 2015년 1월 8일에 W3C 권고안이 되었다.[15] ''IndexedDB 2.0''은 2018년 1월 30일에 W3C 권고안이 되었다.[16][17] ''IndexedDB 3.0''은 2021년 3월 11일에 최초 공개 작업 초안으로 출시되었으며, 현재 작업 초안으로 남아 있다.[18]

Indexed DB는 Internet Explorer 10, Mozilla Firefox 4,[22] Google Chrome 11에서 부분적으로 구현되었다. Opera는 Chromium 기반으로 변경된 Opera 15의 안정 버전이 2013년 7월에 출시된 결과, Indexed DB가 구현되었다.[23] 애플은 2014년 6월 2일, iOS 8.0(같은 해 9월 17일 출시)과 OS X 10.10 Yosemite(같은 해 10월 17일 출시)의 표준 브라우저인 Safari 8.0에 Indexed DB가 구현될 것을 발표했다.[24] 2015년 7월 29일에 출시된 Windows 10의 표준 브라우저인 Microsoft Edge에는 Internet Explorer 10의 Indexed DB 기능을 개선한 것이 구현되었다.[25]

오픈 소스 참조 구현도 테스트 및 실험을 위해 존재한다.[26]

Safari 3.1, Google Chrome 4, Opera 10.50[27]은 Web SQL Database라는 SQLite를 기반으로 한 또 다른 유사한 클라이언트 측 데이터베이스도 구현했다.[28] 2010년 11월 18일, W3C는 Web SQL Database를 폐기 사양으로 지정했다.[29] Firefox 개발자는 Firefox에서 Web SQL Database를 구현하지 않은 것은 의도적인 것이며, 문제가 있는 사양(사양이 SQLite를 기반으로 하여 중립성이 결여됨)이므로, 다른 사양(즉, Indexed DB)이 필요하다고 공언하고 있다.[30]

3. 기능

IndexedDB는 브라우저 내에 임베디드되는 트랜잭셔널 데이터베이스이다. 이 데이터베이스는 NoSQL 데이터베이스인 몽고DB카우치DB와 비슷하게 JSON 객체의 컬렉션 개념으로 정리된다.[34] 각 객체는 삽입 중에 생성되는 키로 식별되며, 인덱싱 시스템은 저장된 객체로의 접근을 최적화한다.[34]

4. 구현

Indexed DB는 Internet Explorer 10, Mozilla Firefox 4[22], Google Chrome 11에서 부분적으로 구현되었다. Opera는 Chromium 기반으로 변경된 Opera 15의 안정 버전이 2013년 7월에 출시된 결과, Indexed DB가 구현되었다[23]. 애플은 2014년 6월 2일, iOS 8.0(같은 해 9월 17일 출시)과 OS X 10.10 Yosemite(같은 해 10월 17일 출시)의 표준 브라우저인 Safari 8.0에 Indexed DB가 구현될 것을 발표했다[24]. 2015년 7월 29일에 출시된 Windows 10의 표준 브라우저인 Microsoft Edge에는 Internet Explorer 10의 Indexed DB 기능을 개선한 것이 구현되었다[25].

또한, 오픈 소스 참조 구현이 테스트 및 실험을 위해 존재한다[26].

Safari 3.1, Google Chrome 4, Opera 10.50[27]은 Web SQL Database라는 SQLite를 기반으로 한 또 다른 유사한 클라이언트 측 데이터베이스도 구현했다[28]. 2010년 11월 18일, W3C는 Web SQL Database를 폐기 사양으로 지정했다[29]. Firefox 개발자는 Firefox에서 Web SQL Database를 구현하지 않은 것은 의도적인 것이며, 문제가 있는 사양(사양이 SQLite를 기반으로 하여 중립성이 결여됨)이므로, 다른 사양(즉, Indexed DB)이 필요하다고 공언하고 있다[30].

5. 성능

IndexedDB는 브라우저의 보안 샌드박스 내에서 실행되므로 모든 작업은 다양한 보안 계층을 거쳐야 하며, 이로 인해 IndexedDB의 성능이 저하된다. IndexedDB 2.0[19]에서는 대량 읽기 작업의 성능을 향상시킬 수 있는 getAll() 메서드가 추가되었다.

6. 용례

IndexedDB는 북마크, 이메일 등의 웹 애플리케이션과 같이 브라우저 구현 기능에 사용될 수 있다. Indexed Database API의 오픈 소스 참조 구현체는 테스트 및 실험 목적으로 존재한다.[33] IndexedDB는 라이브러리 및 전자책 리더 애플리케이션 중 하나인 eLibri에 사용되고 있다.

참조

[1] 웹사이트 Indexed Database API 3.0 https://www.w3.org/T[...] Web Applications Working Group 2021-03-11
[2] 웹사이트 Indexed Database API 3.0 https://w3c.github.i[...] Web Applications Working Group 2021-03-11
[3] 웹사이트 Indexed Database API https://www.w3.org/T[...] 2022-04-21
[4] 웹사이트 Working with IndexedDB https://developers.g[...] Google Inc. 2019-01-19
[5] 웹사이트 Using IndexedDB https://developer.mo[...] Mozilla 2019-01-19
[6] 웹사이트 IndexedDB - MDC Doc Center https://developer.mo[...] Developer.mozilla.org 2011-02-18
[7] 웹사이트 IndexedDB - Chrome Platform Status https://chromestatus[...] The Chromium Projects 2012-05-21
[8] 웹사이트 IndexedDB http://msdn.microsof[...] MSDN 2012-03-14
[9] 웹사이트 OS X Yosemite v10.10 § App Features https://developer.ap[...] Apple 2017-07-09
[10] 웹사이트 IndexedDB https://caniuse.com/[...] N.d.
[11] 웹사이트 Consensus emerges for key Web app standard | Deep Tech - CNET News https://www.cnet.com[...] News.cnet.com 2010-03-12
[12] 웹사이트 Well, I'm Back: Not Implementing Features Is Hard https://robert.ocall[...] Weblogs.mozillazine.org 2010-06-04
[13] 웹사이트 Beyond HTML5: Database APIs and the Road to IndexedDB – Mozilla Hacks - the Web developer blog https://hacks.mozill[...] 2010-06-01
[14] 웹사이트 html5 - Why is Web SQL database deprecated? https://softwareengi[...]
[15] 웹사이트 Indexed Database API https://www.w3.org/T[...] Web Applications Working Group 2015-01-08
[16] 웹사이트 Indexed Database API 2.0 is now a W3C Recommendation {{!}} W3C News https://www.w3.org/b[...] 2018-01-30
[17] 웹사이트 Indexed Database API 2.0 https://www.w3.org/T[...] Web Applications Working Group 2018-01-30
[18] 웹사이트 Indexed Database API 3.0 publication history https://www.w3.org/s[...] 2024-11-07
[19] 웹사이트 Indexed Database API 2.0 is now a W3C Recommendation {{!}} W3C News https://www.w3.org/b[...] 2018-01-30
[20] 웹사이트 Indexed Database API https://www.w3.org/T[...] W3.org null
[21] 웹사이트 WebSimpleDB API https://www.w3.org/T[...] W3.org null
[22] 웹사이트 IndexedDB - MDC Doc Center https://developer.mo[...] Developer.mozilla.org null
[23] 웹사이트 An Introduction to IndexedDB https://dev.opera.co[...] 오페라・ソフトウェア 2014-05-08
[24] 웹사이트 Apple - OS X Yosemite - Apps http://www.apple.com[...] Apple null
[25] 웹사이트 IndexedDB https://msdn.microso[...] マイクロソフト null
[26] 웹사이트 indexeddb - Project Hosting on Google Code https://code.google.[...] Code.google.com null
[27] 웹사이트 Consensus emerges for key Web app standard | Deep Tech - CNET News http://news.cnet.com[...] News.cnet.com 2010-03-12
[28] 웹사이트 Web SQL Database http://dev.w3.org/ht[...] Dev.w3.org 2010-11-18
[29] 문서 W3C Working Group Note 18 November 2010 https://www.w3.org/T[...]
[30] 웹사이트 Well, I'm Back: Not Implementing Features Is Hard http://weblogs.mozil[...] Weblogs.mozillazine.org null
[31] 웹인용 Indexed Database API http://www.w3.org/TR[...] W3.org 2011-02-18
[32] 웹인용 IndexedDB API http://www.w3.org/TR[...] W3.org 2015-12-04
[33] 웹인용 indexeddb - Project Hosting on Google Code http://code.google.c[...] Code.google.com 2011-02-18
[34] 서적 Building Electronic Commerce with Web Database Constructions Addison Wesley 2001



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com