복붙노트

[SQL] .NET에서 인 메모리 데이터베이스 [폐쇄]

SQL

.NET에서 인 메모리 데이터베이스 [폐쇄]

난 내가 인 - 메모리 데이터 구조를 사용하려는 .NET 응용 프로그램이 있습니다. 그것은 물리적 데이터베이스 비교에서 작동하는 방법 나에게 조언을 주시기 바랍니다.

해결법

  1. ==============================

    1.인 - 메모리 데이터베이스 (IMDB)는 메모리 상주 관계형 데이터베이스가 저장하고 메인 메모리에 데이터를 조작하여을 제거해 디스크 액세스가. IMDB는 일반적으로 엄격한 메모리 기반 아키텍처와 직접 데이터 조작을 갖추고 있습니다.

    인 - 메모리 데이터베이스 (IMDB)는 메모리 상주 관계형 데이터베이스가 저장하고 메인 메모리에 데이터를 조작하여을 제거해 디스크 액세스가. IMDB는 일반적으로 엄격한 메모리 기반 아키텍처와 직접 데이터 조작을 갖추고 있습니다.

    A는 관련 물건의 비트 :

  2. ==============================

    2.당신은 메모리 데이터베이스를 설명 할 때 수정해야 두 신화가있다.

    당신은 메모리 데이터베이스를 설명 할 때 수정해야 두 신화가있다.

    1) "A 메모리 데이터베이스는 디스크 데이터베이스가 적은 지속됩니다." 이 간단한 메모리 데이터베이스에 대한 사실이지만, 디스크에 기업 수준의 메모리 데이터베이스 장악 데이터는 트랜잭션을 커밋 할 때. 디스크 팔이 움직일 때 디스크는 느리다. 당신이 그것에 대해 생각한다면, 당신은 빠른 디스크에 초 기가 바이트를 작성할 수 있습니다. 데이터베이스가 그만큼 변경하는 경우, 당신은 실시간으로 하루에 테라 바이트를 보호 할 수 있습니다. 이것은 동안 슈퍼 빠른 디스크 데이터베이스와 같은 안전뿐만 HANA 및 Starcounter 같은 램 데이터베이스한다. 언제든지 전력을 켤 수 있으며, 체크 포인트 및 복구 디스크 기반 데이터베이스와 동일하게 작동합니다.

    2) "메모리 데이터베이스는 훨씬 빠릅니다." 그들은 메모리에서 작동하기 때문에 메모리 데이터베이스가 빠릅니다 이유는 간단하다. 당신이 RAM 드라이브에 기존의 데이터베이스를 넣어 경우, 아무것도 많이 발생하지 않습니다. 캐시 요즘은 일반적으로 데이터베이스 크기를 초과하는 사실, 그들은 이미 메모리에 상주합니다. 메모리 데이터베이스가 훨씬 더 효율적인 이유는 데이터베이스 이미지가 주 메모리가 아닌 보조 메모리로 취급된다는 점이다. 이 방법은 데이터를 읽을 때 RAM에 디스크 이미지에서 페이지를 복사하지 현대 RAM 데이터베이스가 않습니다. 현대 서버, 메모리 벽은 신속하게 병목 현상이된다. 이것은 RAM 데이터베이스에 피할 수있다. 두 번째 이유는 빠른 디스크에 비해 수천 배를하는 매체 뭔가를 개발할 때, 당신이 소비하는 나노초 즉시 볼 수 있습니다 것들로 마이크로 초와 밀리 초 단위로 오버 헤드가 추가하지 않는 경향이 있다는 점이다. 디스크의 규모에,이 레벨의 최적화 코드를 이유가 없다. 갑자기 RAM 가격은 (2000 년 이후 98 %)를 드롭 할 때, 당신은 단지 전체 데이터베이스 엔진을 다시 작성할 수 없습니다.

  3. ==============================

    3.메모리 데이터베이스에 그냥 일반 데이터베이스처럼 작동하지만 콘텐츠는 메모리가 아닌 디스크에 저장됩니다. 이 응용 프로그램이 종료 될 때 모든 데이터가 손실되는 효과가 있습니다. 그들은 다시 각 시작할 때 데이터로 채워해야합니다.

    메모리 데이터베이스에 그냥 일반 데이터베이스처럼 작동하지만 콘텐츠는 메모리가 아닌 디스크에 저장됩니다. 이 응용 프로그램이 종료 될 때 모든 데이터가 손실되는 효과가 있습니다. 그들은 다시 각 시작할 때 데이터로 채워해야합니다.

    메모리 모드에서 실행할 수있는 데이터베이스의 예는 SQLite는 것입니다. 참고 SQLite는 프로세스 데이터베이스에 것을, 당신은 당신의 응용 프로그램 내에서 호스트.

  4. ==============================

    4.그것은 분산 메모리 오브젝트 캐싱 시스템입니다 당신은 memcached를 사용할 수 있습니다. Memcached가 데이터베이스 호출 API 호출, 또는 페이지의 렌더링 결과에서 임의의 작은 데이터 청크 (문자열, 객체)에 대한 메모리 키 - 값을 저장한다.

    그것은 분산 메모리 오브젝트 캐싱 시스템입니다 당신은 memcached를 사용할 수 있습니다. Memcached가 데이터베이스 호출 API 호출, 또는 페이지의 렌더링 결과에서 임의의 작은 데이터 청크 (문자열, 객체)에 대한 메모리 키 - 값을 저장한다.

    memcached를 사용하면 모든 서버의 메모리가 동일한 가상 풀에 찾고있는 것을 볼 수 있습니다. 주어진 항목이 항상 저장되고 항상 전체 웹 클러스터에 동일한 위치에서 검색이 의미합니다.

  5. ==============================

    5.다음은 .NET 용 데이터 공급자를 사용하여 메모리 데이터베이스에 액세스 할 수있는 튜토리얼입니다. 당신은 예측 분석, 지리, 텍스트 분석 및 퍼지 검색을위한 SQL 문을 사용할 수 있습니다. 당신은 무료 (HANA 명시 판)이 DB를 다운로드하고 MS 애저에서 VM에 8기가바이트 RAM보다 더있는 컴퓨터에 가상 머신을 사용하거나 설치할 수 있습니다.

    다음은 .NET 용 데이터 공급자를 사용하여 메모리 데이터베이스에 액세스 할 수있는 튜토리얼입니다. 당신은 예측 분석, 지리, 텍스트 분석 및 퍼지 검색을위한 SQL 문을 사용할 수 있습니다. 당신은 무료 (HANA 명시 판)이 DB를 다운로드하고 MS 애저에서 VM에 8기가바이트 RAM보다 더있는 컴퓨터에 가상 머신을 사용하거나 설치할 수 있습니다.

  6. from https://stackoverflow.com/questions/5231891/in-memory-database-in-net by cc-by-sa and MIT license