2009-04-26 3 views
3

Perl DBI 모듈을 사용하면 많은 다른 유형의 SQL 데이터베이스에 투명하게 연결할 수 있습니다. 비 관계형 키 - 값 쌍 데이터베이스에 해당하는 Perl 모듈이 있습니까?Perl에 DBI의 비 관계형 동등 물이 있습니까?

예를 들어, BerkeleyDB (또는 심지어 Perl 해시)로 개발을 시작할 수 있지만 memcachedb 또는 CouchDB 또는 Amazon SinmpleDB 또는 Google AppEngine Datastore에서 제공하는 것과 같은 클라우드 데이터베이스로 전환 할 수있는 인터페이스가 있습니까? .

답변

4

tie는 일반적인 메커니즘이다 "간단한 변수에 객체 클래스를 숨 깁니다."(이 무엇 타이 :: 해시가있는 경우, 어디 구현의 요약을 찾을 수 있습니까?? 않습니다이다) Tie::Hash은 해시 관계를 구현하는 편리한 유틸리티 클래스입니다.

따라서 개체를 해시로 묶는 것은 키 - 값 쌍 데이터베이스에 액세스하기위한 적절한 추상화입니다. 그러한 지식을 얻는 데 필요한 공통의 인프라가 없기 때문에 프로젝트를 다양한 방법으로 분리하여 서로 다른 동점을 만들려면 Factory을 직접 만들어야합니다.

4

일반적으로 모든 유형의 키 - 값 쌍 저장소에 대해 별도의 모듈이 필요합니다. 예를 들어

: 모듈이있는 경우 Amazon::S3

를 통해

  • Memcache를
  • CouchDB를 Cache::Memcached를 통해 DB::CouchDB
  • 버클리 BerkeleyDB를 통해
  • 아마존 S3를 통해 나는 확실하지 않다 Google AppEngine Datastore의 경우 일반적으로 s 너에게 어울리는 무언가를 MetaCPAN에 실었다.

10

KiokuDB이 원하는 것인지 확실하지 않습니다. CouchDB, BDB (BerkeleyDB) 및 DBI 백엔드가 있습니다.