ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아파치 이그나이트
    카테고리 없음 2023. 3. 7. 21:48

    - 인메모모리 컴퓨팅 플랫폼으로 데이터베이스와 사용자 애플리케이션 사이에 위치시킬 수 있습니다.

     

    - 아파치 이그나이트에는 몇 가지 특징이 나와있는데, 요점은 Persistence Mode 를 on/off 해서 off일 때는 Ram 에만 데이터를 저장하는 캐싱기능을 가진 in-memory storage로 사용할  수도 있고, on을 하면 디스크에도 데이터를 저장해 persistence layer 로도 사용할 수 있다는 것입니다.

     

    - 캐시를 key-value API 로도 사용할 수 있고, SQL 쿼리를 작성해 캐시를 사용할 수도 있다. 이에 따라 (IMDB) in-memory database 혹은 (IMDG) in-memory data grid로써 동작한다고 합니다.

     

    - OS 의 가상메모리와 비슷하게 동작하지만 OS 는 디스크를 swap 목적으로 사용하는데 반해, 이그나이트는 전체 데이터 셋을 디스크에 가진다는 차이가 있습니다.

     

    - 기존의 디스크 저장소에서 RAM 으로 데이터를 로드하는데, 디스크 저장소와 RAM 사이에 동일한 Binary Object 형태로 데이터를 주고 받아 빠른 속도를 낼 수 있습니다.

     

    - 여러 노드를 하나의 클러스터로 묶어서 사용할 수 있습니다. 보통 하나의 JVM 에 하나의 노드를 생성하고 여러 노드를 하나의 클러스터로 묶어 사용합니다.

     

    - 클러스터에 노드를 추가함으로써 수평적 확장이 쉽습니다.

     

    - 대용량 데이터를 높은 성능으로 빠르게 처리하는 시스템에 도입을 고려할 수 있습니다.

     

    - Database  10~100GB 정도는 로컬 캐시이 가능하기 때문에 Ignite Database 보다 항상 빠르다고 수는 없습니다.

    Ignite 분산 데이터 캐싱에 강해 대용량 데이터에서 SQL server 로컬 캐시 기능으로 없는 복잡한 쿼리를 통해 데이터 추출이 필요한 경우에 Ignite SQL 보다 빠른 속도를 있습니다.

     

    - 데이터의 캐시 정책 설정을 동적으로 변경하는데 제한 있습니다. (재배포, 재기동 필요)

     

    DB 데이터를 이그나이트에 넣어 사용자 요청을 분산하려고 만든 구조입니다.

    DB로 새로 유입되는 정보를 이그나이트에도 업데이트 해주기 위해 RabbitMQ 를 추가하였습니다.

    다만 DB 와 함께 사용할 때 몇가지 유의사항이 있었습니다.

    이그나이트가 SQL 서버처럼 여러 DDL, DML 문을 사용할 수 있지만 모든 RDBMS 의 기능을 제공하는 것은 아닙니다.

    예를 들어 테이블을 생성 시 Auto Increment 를 지원하지 않고, 컬럼을 동적으로 추가 시에 default 값을 지원하지 않습니다. 

    이는 각 다른 경로로 DB 와 이그나이트 데이터가 업데이트될 경우 시퀀스 번호 동기화에 문제가 생길 가능성이 크고, default 값이 없기 때문에 다른 예외처리를 적용해야합니다.

    또 컬럼명 변경이나 데이터타입을 동적으로 변경할 수 없고, 기존에 로드된 데이터를 모두 삭제하고 다시 올려야합니다,

     

     

    이그나이트 공식문서 나름 번역..

    https://same-dog-7f9.notion.site/Ignite-bb6a6af975d248139aad2e4facedf1c9

     

    Ignite

    Durable Memory

    same-dog-7f9.notion.site

     

    반응형
Designed by Tistory.