2011.7.12월에 작성

다음 2가지가 Retired가 되었는데요. 관련해서 자료를 찾아보았습니다.

Programmable HTTP Caching and Serving
Web SQL Database


-------------------

첫번째..
Programmable HTTP Caching and Serving 스펙의 retired 된것을 살펴보니. 활동이 없어서 이렇게 되었군요..^^;;
http://www.w3.org/2010/11/01-webapps-minutes.html#item05


두번째..
Web SQL Database 스펙(http://www.w3.org/TR/webdatabase/)이 철회(retired)가 된 것은 작년 말 쯤입니다.

 

구글 개발자 혼자서 이 스펙을 리드했지만 결국은 실패했는데요. 그 이유는 2가지가 있습니다.

첫번째 브라우저 개발사의 동의를 얻지 못했습니다.
두번째  자체적인 SQLite를 탑재하고 있는데, SQLite만 가지고는 서로 합의할 수 있는 접점을 찾기 어려웠다고 합니다.

 

두번째 관련 정보에 대해서 약간 상세하게 설명드리겠습니다. 모질라 개발자가 링크가 건 블로그를 가지고 말씀드리겠습니다. ( http://blog.vlad1.com/2009/04/06/html5-web-storage-and-sql/)

즉, SQLite는 SQL의 변형(variant)을 구현하고 컬럼에서 데이터의 타입에 따라서 편차가 많이 생길 수 있습니다.

(SQLite implements a variant of SQL, with a number of deviations from other SQL engines, especially in terms of the types of data that can be placed in columns.) 이런 부분들이 SQL 표준과 다르기 때문에 심각한 호환성(interop)이 발생될 수 있습니다. SQLite가 표준이 되면, SQLite 가 호환이 안되게 변화를 주지 않는다는 보장이 없습니다. 제품이 아닌 표준을 기준으로 하려다 보니 그렇게 한 것은 아니었을까 생각을 해봅니다.

표준 문서를 보면 SQLite 3.6.19를 기준으로 했지요..

 

 

그래서, SQL 보다는 하위 레벨인 Indexed DataBase (http://www.w3.org/TR/IndexedDB/) 에서는 표준이 잘 되고 있습니다.

MS와 Google이 협력 해서 B-tree 기반의 indexed DB 로 가는 것을 목표로 하고 있습니다. 재미있는 것은 CouchDB-style의  API 가 개발되고 있지요.

구현된 코드는 다음과 같습니다.  http://code.google.com/p/indexeddb/

 

Web SQL Database 스펙은 retired되었지만 API는 IndexedDB에 영향을 서로 많이 주었습니다.  거의 똑같이 쓰면 되네요..
http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/

 

반면 비슷하게 생긴 녀석으로 Web Storage 라는 스펙이 있습니다. 로컬 스토리지와 세션 스토리지로 사용되는데..

사실 Web Storage를 실제 구현하는 기술이 SQLite입니다. Web SQL Database 나 Web Storage의 하위 기반 기술은 SQLite를 쓰는 것이라 Web SQL Database를 retired 되어도 web storage api가 있으니, 이거 쓰면 될 것 같습니다.

- getItem/setItem, removeItem, clear 함수밖에 없네요.  깔끔하군요..

 

 

Posted by 김용환 '김용환'

댓글을 달아 주세요