2010-06-15 6 views
19

대용량 데이터베이스에서 파이썬으로 쿼리를 수행하여 일부 통계를 데이터베이스에서 가져옵니다. 이 통계를 메모리에 저장하여 다른 프로그램이 데이터베이스에 가지 않고도 사용할 수 있기를 바랍니다.파이썬의 메모리 내장 데이터베이스

구조를 만드는 방법을 생각하고 복잡한 중첩 된 사전을 설정하려고 시도한 후에 SQL 테이블이 좋은 것으로 나타났습니다. 그래도 데이터를 영구 데이터베이스에 다시 저장하고 싶지는 않습니다. SQL 구문을 사용하여 데이터 쿼리를 지원하는 SQL 데이터베이스의 메모리 내장 구현이 있습니까?

답변

30

SQLite3가 작동 할 수도 있습니다. Python 인터페이스 does support SQLite3 C API가 제공하는 메모리 내 구현. 스펙에서

:

또한 특별한 이름 제공 할 수 있습니다 : RAM에서 데이터베이스를 만들 : 메모리를.

당신이하고있는 일에 따라 거래가 비교적 저렴합니다. 시작하려면 다음을 입력하십시오.

import sqlite3 
conn = sqlite3.connect(':memory:') 

그러면 일반 데이터베이스를 사용하는 것처럼 계속 진행할 수 있습니다.

키/값 (문자열, 해시, 목록, 세트, ​​정렬 된 세트 등)을 사용하여 데이터를 가져올 수있는 경우 - Redis은 다른 옵션으로 탐색 할 수 있습니다. 다른 프로그램들).

1

아마도 SQLite3이 가장 좋은 옵션 일 것입니다.

가능한 경우 memcached을 살펴보십시오. (키 - 값 쌍에 대해, 빠른 조명!)

UPDATE 1 : 테이블처럼 SQL에 대한

HSQLDB. (파이썬 지원 없음)

+0

2 년 후이 시점에서 Redis는 memcache보다 훨씬 유연성이 뛰어난 매우 유용한 옵션입니다 (SQL이 반드시 필요하지 않는 한). –

0

아마도 SQLite과 같은 데이터베이스를 사용할 수 있습니다. 엄밀히 말하면 메모리에서 말하는 것은 아니지만 상당히 가볍고 메인 데이터베이스와 완전히 별개입니다.

+1

SQLite3 데이터베이스는 메모리에서만 열 수 있습니다. SQLite3의 가장 큰 장점 중 하나입니다. –

+0

팁을 주셔서 감사합니다. –

관련 문제