2009-12-09 4 views
2

우리 모두는 MYSQL을 알고 있습니다. 우리 모두 memcached를 알고 있습니다.실제/메모리 데이터베이스. (내 웹 사이트에서 로깅 목적으로)

나는 memcached를 좋아합니다. 문자열 키가 있고 값을 반환합니다. 죽은 사람.

메모리에 대한 데이터베이스가 있습니까? 예를 들어, 로깅을 추적해야하는 웹 사이트를 구축하고 있습니다. 사람들이하는 모든 일은 ... 나는 계속 추적해야한다. 그러나 누군가가 페이지를 쳤을 때마다 디스크에 쓰는 것이 느려질 것입니다 ...

그래서 저는 그것을 기억하고 싶습니다. 문제는 memcached가 너무 간단하다는 것입니다. 나는 memcached를이를 저장하지 않으 :

log1:query:apple,12-11-2009:32:33,3,5,2 

도구가 같은 memcached를를 사용하여 간단 거기 있지만, 기본 키 - 값보다는 더 많은 기능을 제공합니다?

키는 간단하고 사용하기 쉽고 배우기 쉽지만 작동합니다!

+0

실제로 데이터베이스에 쓰려 고 시도해 보았고 데이터베이스 엔진이 메모리에 캐싱을 돌 보았습니까? –

+0

로깅 작업이 실패하면 어떻게해야합니까? 질문 사람들은 종종 묻지 않습니다. 응답이 "일어날 것"이외의 것이라면 일반 DB에 대한 비동기 쓰기를 고려할 수도 있습니다. 때때로 로깅 작업이 기본 트랜잭션의 일부인 경우가 있지만 " 우리는 그것이 실제로 거기에 있기를 원하지만 잠시 놓칠 수 있다면 살 수 있습니다. "상황. 실패 할 경우 admins에게 오류가 발생했는지 확인하십시오. "메모리 로깅 중"이라는 생각으로 항상 즐겁습니다. 나는 그 이유를 이해하지만 여전히 모순이라고 생각합니다. –

답변

1

고객님의 요구에 맞게 SQLite이 적합한 것 같습니다. 본격적인 관계형 데이터베이스입니다 (이름에서 알 수 있듯이 사실 SQL 명령을 사용하여 제어합니다.)하지만 매우 가볍고 데이터베이스를 완전히 메모리에서 유지 관리 할 수 ​​있습니다.

+0

나는 SQLite를 시작해서 물건을 시작한 다음 MySQL이나 PostgreSQL을 바꿀 필요가있다. –

0

HSQLDB은 내가 본 중 가장 눈에 띄는 것입니다. 작고 빠르며 표준 SQL을 사용하며 OpenOffice 및 다른 프로젝트에서 사용됩니다.

4

로깅 정보와 비즈니스 데이터를 저장하는 데 다른 데이터베이스를 사용하지 않는 것이 좋습니다. 예를 들어, 그룹 X의 몇 명의 사용자가 활동 Y를 수행했는지와 같이 실생활보고를 원하면 "비즈니스 데이터"와 "로깅 데이터"간의 조인을 원할 것입니다. 데이터가 다른 데이터베이스 관리 시스템에 있으면 문제가 발생합니다.

실제로 디스크에 단일 쓰기를하는 것에 대한 세금은 그다지 높지 않습니다 (HDD 컨트롤러는 쓰기를 일괄 적으로 처리 할 수있을 정도로 똑똑합니다 - 쓰기는 차단되지 않습니다).

0

MySQL에서 메모리 엔진을 사용하면 반드시 빠릅니다. 유일한 문제는 영구적이지 않기 때문에 MySQL이 다시 시작되면 데이터가 사라집니다 (세션 데이터 등).

파일 시스템에 파일을 추가하거나 그냥 추가하십시오. 서버간에 로그를 병합하려면 페이스 북의 스크라이브를 사용하십시오.

0

저는 실제로 플레어의 능력에 깊은 인상을 받았습니다. 그것은 연결을 위해 memcached 프로토콜을 사용하고, 지속성을 위해 Tokyo Cabinet을 사용합니다. 최종 결과는 memcached 클라이언트의 '일종의 일'입니다. http://labs.gree.jp/Top/OpenSource/Flare-en.html

아직 프로덕션 환경에서는이를 실행하지 않습니다.

또한 동적 호스트 추가 및 여러 복제 옵션을 사용하여 클러스터링을 수행하므로 memcached 키 해싱 전략에서 본질적으로 순환 복제와 같은 펑키 한 작업을 수행 할 수 있습니다! memcached가 아닌 Flare를 가리 키도록 구성 속성을 변경해야합니다 (잘만되면!).

0

이미 데이터베이스와 운영 체제에서 캐싱/버퍼링을 많이 받았습니다. 특히 쓰기 만하는 활동의 경우에는 큰 이득을 얻지 못할 것입니다.다른 모든 사람들과 마찬가지로 로깅을 고려해보십시오. 텍스트 파일에 기록하십시오.

관련 문제