상용 GPU 데이터베이스 – Kinetica – ( 주 ) 넥스 투비 
 상용 GPU 데이터베이스 – Kinetica 
 GPU 가속 화 는 고 성능 컴퓨팅 에 혁명 을 가져 왔 습니다 . 특히 재무 , 소매 , 물류 , 헬스 케 어 / 제약 , 공공 기관 과 같 은 업종 에서 처리 집약 적 인 작업 부하 에 대한 GPU 활용 이 증가 하 고 있 습니다 . GPU 가속 은 머신 러닝 , 딥 러닝 , 데이터 시각화 , 빠른 쿼리 , 조인 및 행 단위 계산 을 위한 새로운 가능 성 을 제시 합니다 . 
 GPU 데이터베이스 가 요구 사항 을 충족 시킬 수 있 는지 여부 를 조사 하 고 있 다면 전체 솔루션 을 충족 시키 는 기능 이 있 는지 확인 해야 합니다 . GPU 가속 화 데이터베이스 를 제공 하 는 여러 회사 가 있 으며 , 이 들 이 어떻게 다른지 , 조직 의 요구 에 어느 것 이 적합 한 지 완전히 이해 하 는 것 은 어려울 수 있 습니다 . 의사 결정 프로세스 를 돕 기 위해 GPU DB 가 어떻게 적용 되 는지 에 대한 정보 와 함께 GPU 가속 관계 형 데이터베이스 를 평가 하 는 데 도움 이 되 는 체크 리스트 를 제공 합니다 . 
 1 . 제품 완성 도 및 기업 준비 
 GPU 데이터베이스 를 선택 하 는 가장 중요 한 측면 중 하나 는 제품 완성도 입니다 . 병렬 처리 의 이점 에 직접 노출 될 수 있 는 다양 한 GPU 호환 데이터베이스 가 있 지만 프로덕션 배포 는 보다 강력 한 기능 을 필요 로 합니다 . 
 생산 가능 한 데이터베이스 는 하룻밤 사이 에 구축 되 지 않 으며 대 기업 고객 의 경우 기존 배치 는 엔터 프라이즈 기능 이 테스트 되 고 사용 할 수 있 다는 제공 합니다 . 
 Kinetica 는 GPU 의 병렬 처리 성능 과 벡터 화 된 메모리 구조 , SIMD 처리 를 사용 하 는 많 은 코어 장치 를 활용 하 도록 처음 부터 작성 된 최초 의 데이터베이스 입니다 . Kinetica 는 테러리스트 및 기타 국가 안보 위협 을 실시간 으로 추적 하 고 분석 하 기 위해 US Army Intelligence and Security Command 의 요구 로 개발 되 었 습니다 . 제품 개발 은 2009 년 에 시작 되 어 이 솔루션 은 2012 년 미 육군 INSCOM 내 실 사용 환경 에 투입 되 었 습니다 . 
 최근 Kinetica 는 USPS , GSK , PG & E , ScotiaBank 및 기타 금융 , 소매 및 물류 회사 와 같 은 회사 에서 사용 되 고 있 습니다 . 
 2 . GPU 데이터베이스 와 상호 작용 
 2 - 1 . SQL 지원 
 SQL 지원 은 기업 의 IT 스택 전반 에 걸쳐 통합 을 수행 하 고 비즈니스 사용 자 , 분석가 , 개발자 , 데이터 과학자 , DBA 및 시스템 설계자 가 기존 기술 을 활용 하 여 데이터 에 액세스 하 고 분석 할 수 있 게 하 는 관계 형 데이터베이스 의 독창 적 인 기능 입니다 . 
 SQL 을 통해 GPU 데이터베이스 와 작업 할 경우 , 다음 을 위해 ANSI SQL 표준 및 시멘 틱 을 지원 하 는 솔루션 이 필요 합니다 . 
 CRUD 작업 : 전체 데이터 변경 및 포괄 적 인 데이터 관리 를 위한 작성 , 읽 기 , 업데이트 및 삭제 작업 을 지원 해야 합니다 . 
 UNION , DISTINCT , GROUP BY , EXCEPT , JOINS 와 같 은 SQL 구문 지원 : inner , full , left , right 와 같 은 모든 JOIN 유형 을 지원 해야 합니다 . 단 두 개 의 테이블 이 아닌 Multi - 테이블 을 지원 해야 하 며 , 단 하나 의 컬럼 이 아닌 Multi - 컬럼 을 지원 해야 합니다 . 
 SUBQUERY : 서브 쿼리 는 SELECT 문 내 에 중첩 된 쿼리 입니다 . 이 들 은 더 나 은 유연 성 과 표현 력 , 간단 한 SQL 문 을 제공 합니다 . GPU 데이터베이스 가 SUBQUERY 를 지원 하 는지 확인 하 여 복잡 한 비즈니스 로직 을 쉽 게 표현 할 수 있 도록 하 십시오 . 
 2 - 2 . API 
 SQL 은 간단 하 지만 개발자 , 프로그래머 , 데이터 과학자 와 같 은 비즈니스 분석가 는 RESTful API 를 사용 하 여 보다 풍부 한 프로그래밍 방식 의 데이터베이스 액세스 를 원합니다 . 
 SQL 또는 원시 REST API 를 통해 Kinetica 와 상호 작용 할 수 있 습니다 . 이 를 통해 데이터베이스 에 대한 보다 정교 한 쿼리 와 DB 작업 을 수행 할 수 있 습니다 . 언어 별 바인딩 은 Java , Python , C ++, JavaScript , Node . js 에서 사용 할 수 있 습니다 . Kinetica API 와 커넥터 는 오픈 소스 이 며 GitHub 에서 사용 할 수 있 습니다 . 
 모든 데이터베이스 는 궁극 적 으로 함께 모여 완전 한 솔루션 을 구축 해야 하 는 도구 의 생태 계 에 존재 합니다 . 적합 한 커넥터 를 사용 하 면 완전 한 솔루션 을 쉽 게 구축 할 수 있 습니다 . 
 Kinetica 에 는 Apache Hadoop , NiFi , Spark , Spark Streaming , Storm , Kafka 용 커넥터 가 포함 되 어 있 습니다 . 
 또한 Kinetica 는 인증 된 ODBC / JDBC 커넥터 를 통해 Tableau , MicroStrategy , Power BI 와 같 은 널리 사용 되 는 BI 도구 에 연결 할 수 있 습니다 . Kinetica 의 커넥터 와 완벽 한 SQL - 92 쿼리 지원 을 통해 Kinetica 를 빠른 속도 로 가속 화 된 BI 의 대체 데이터 소스 로 교체 하 는 것 은 쉽 습니다 . 
 4 . 견고 성 및 보안 성 
 4 - 1 . 시스템 RAM / VRAM 
 GPU 가 제공 하 는 고속 처리 를 지원 하 기 위해 모든 GPU 가속 데이터베이스 는 데이터 를 메모리 에 저 장합 다 . 이 작업 은 시스템 메모리 나 GPU 자체 의 vRAM 에서 할 수 있 습니다 . vRAM 에 데이터 를 저장 하 면 전송 시간 이 매우 빨라진다는 이점 이 있 습니다 . 단점 은 vRAM 이 비싸 고 용량 이 제한 된다는 것 입니다 . 현재 NVIDIA P 100 는 16 GB 밖 에 없 습니다 . 
 Kinetica 는 시스템 RAM 과 vRAM 을 모두 사용 할 수 있 습니다 . 테라바이트 의 데이터 인 경우 시스템 RAM 을 사용 하 여 데이터베이스 를 훨씬 더 큰 볼륨 으로 확장 할 수 있 습니다 . 주 메모리 에 저장 된 데이터 는 GPU 에 효율 적 으로 공급 될 수 있 으며 이 프로세스 는 NVLink 아키텍처 를 사용 하 면 더욱 효율 적 입니다 . 
 4 - 2 . 보안 
 엔터 프라이즈 급 보안 은 모든 데이터 와 분석 솔루션 을 채택 하 는 비즈니스 에 매우 중요 합니다 . 고객 세부 정보 , 주민 등록 번호 , 신용카드 번호 와 같 은 중요 한 데이터 를 저장 , 관리 , 분석 하 려면 데이터 유출 및 부주 의 한 정보 사용 을 방지 하 기 위한 포괄 적 인 보안 을 제공 하 는 솔루션 이 필요 합니다 . 
 GPU 데이터베이스 의 엔터 프라이즈 급 보안 에 는 다음 이 포함 되 어야 합니다 . 
 인증 : 인증 을 위한 Open LDAP , Kerberos , Active Directory 와 통합 
 권한 부여 : 데이터베이스 와 테이블 의 권한 부여 를 위한 RBAC ( 역할 기반 액세스 제어 ) 를 지원 
 암호 화 : SSL , PLS , AES - 256 으로 데이터 암호 화 지원 
 4 - 3 . 데이터 지속 성 
 메모리 내 데이터 저장 의 이점 은 속도 입니다 . 약점 은 전원 이 나가 거나 데이터베이스 가 손상 될 경우 데이터 가 손실 될 수 있 다는 것 입니다 . 데이터베이스 가 메모리 내 데이터 에서 작동 하 고 디스크 에 데이터 를 보관 하 여 신뢰 성 을 확보 할 수 있 다면 아주 십 게 지속 성 을 확보 하 게 됩니다 . 
 Kinetica 는 GPU VRAM 과 시스템 메모리 에서 데이터 를 관리 할 뿐 만 아니 라 데이터 를 디스크 에 유지 할 수 있 습니다 . 다른 많 은 GPU 데이터베이스 에 는 지속 성 이 없 으므로 GPU 데이터베이스 가 중지 되 면 데이터 가 사라집니다 . 원본 소스 에서 데이터 를 다시 로드 해야 합니다 . 
 4 - 4 . 다중 테이블 / 다중 컬럼 조인 
 데이터베이스 의 GPU 가속 을 살펴보 면 데이터 가 여러 테이블 에 분산 되 어 있 는 더 복잡 한 스키마 가 있 음 을 알 수 있 습니다 . 이 시나리오 에서 는 빠른 JOIN 을 수행 하 는 기능 이 필수 적 입니다 . 다른 많 은 GPU 데이터베이스 는 조인 을 수행 하 는 능력 이 부족 합니다 . Kinetica 를 대체 하 는 가장 가까운 GPU 데이터베이스 일지 라도 두 테이블 만 지원 하 며 각 테이블 에 대해 하나 의 컬럼 이 있 는 JOIN 만 지원 합니다 . 반면 Kinetica 는 여러 컬 럼 과 테이블 에서 left , right , inner , outer JOINS 에 대한 전체 JOIN 지원 을 제공 합니다 . 
 4 - 5 . 데이터 무결성 
 데이터 무결 성 은 관계 형 데이터베이스 에서 데이터 의 정확 성 을 보장 하 는 데 중요 합니다 . 데이터 정확 성 을 보장 할 수 없 는 기술 을 비즈니스 에서 사용 하 지 않 아야 합니다 . Kinetica 는 기본 키 와 같 은 데이터 무결성 구조 를 지원 합니다 . 
 4 - 6 . 스케일 - 아웃 분산 아키텍처 
 데이터 의 양 이 증가 하 고 처리 요구 가 증가 함 에 따라 분석 시스템 의 규모 를 평가 해야 합니다 . 
 GPU 카드 추가 , 메모리 , 고급 하드웨어 추가 로 지금 까지 는 확장 성 을 올릴 수 있 습니다 . 데이터 및 작업 부하 를 여러 시스템 에 분산 시킬 수 있 는 데이터베이스 는 경제 적 으로 하드웨어 를 제한 하 지 않 고 확장 할 수 있 습니다 . 수평 확장 아키텍처 를 살펴볼 때 유의 해야 할 몇 가지 사항 이 있 습니다 . 
 마스터 노드 또는 완전 분산 / 단순 분산 시스템 은 단일 사전 노드 를 사용 하 여 메타 데이터 를 중앙 에서 관리 합니다 . 이 로 인해 리프 노드 가 조회 요청 , 특히 JOIN 의 마스터 노드 를 압도 하 는 성능 병목 현상 이 발생 할 수 있 습니다 . 단일 마스터 노드 는 또한 단일 장애 지점 을 유발 합니다 . 보다 견고 한 솔루션 은 조회 요청 을 전체 클러스터 에 분산 시킬 수 있 는 분산 메타 데이터 로 헤드 리스 처리 기능 을 제공 합니다 . 이러 한 아키텍처 는 분산 처리 를 위해 기본 적 으로 구축 된 시스템 에서 사용 됩니다 . Kinetica 는 클러스터 된 다중 노드 시스템 을 사용 합니다 . 이 아키텍처 를 통해 Kinetica 는 클러스터 의 모든 노드 에 데이터 를 수집 하 여 Kinetica 가 대량 의 IoT 데이터 스트림 이나 운영 시스템 에서 신속 한 작업 을 필요 로 하 는 사용 사례 에 이상 적 입니다 . 
 분산 및 병렬 데이터 수집 : 분산 데이터베이스 는 알고리즘 공유 를 사용 하 여 여러 노드 에서 분산 방식 으로 데이터 를 투영 하 고 헤드 리스 병렬 처리 를 활용 하 여 빠른 수집 과 쿼리 성능 을 제공 합니다 . 병목 현상 없이 완벽 한 병렬 처리 로 데이터 를 수집 , 배포 , 처리 할 수 ​​ 있 도록 ETL 도구 에 의존 하 지 않 고 쉐 이 딩 을 지능 적 으로 관리 하 는 데이터베이스 솔루션 을 선택 하 십시오 . 
 4 - 7 . 고 가 용성 
 클러스터 내 의 개별 노드 가 실패 하 면 어떻게 될까요 ? 전체 클러스터 가 오프라인 이 되 는 경우 , 타사 의 도구 로 손상 을 줄일 수 는 있 지만 보 안 , 업그레이드 , 버전 비 호환 성 , 고급 저 장소 및 추가 기술 로 인한 추가 위험 과 문제 가 발생 합니다 . 내장 된 HA 와 자동 화 된 복제 로 내 결함 성 을 보장 하 고 시스템 을 보다 쉽 게 ​​ 유지 관리 할 수 ​​ 있 습니다 . Kinetica 는 Active / Active HA 및 클러스터 간 의 자동 복제 를 제공 합니다 . 이렇게 하 면 주 어 진 클러스터 에서 단일 장애 지점 을 제거 하 고 장애 로부터 안정 적 이 고 신속 하 게 복구 할 수 있 습니다 . USPS 는 Kinetica 를 2014 년 11 월 에 데이터베이스 를 최초 실 사용 한 이후 1 초 도 되 지 않 아 99 . 999 % 의 가용성 을 달성 했 습니다 . 관리자 는 Kinetica 를 계속 서비스 를 유지 하 면서 패치 , 업그레이드 를 수행 할 수 있 으며 매일 피크 시간 대 에 시스템 에 충돌 하 는 동시 세션 수 가 15 , 000 개 를 초과 하 는 결과 를 수집 , 처리 하 고 동시 에 서비스 를 제공 할 수 있 습니다 . 
 5 - 1 . 데이터베이스 내 분석 
 데이터 에 대한 질문 이 점점 복잡 해짐 에 따라 데이터 과학자 들 은 알고리즘 과 모델링 을 위한 고급 도구 를 모색 합니다 . 사용 자정 의 함수 ( UDF ) 프레임워크 는 데이터베이스 에서 직접 데이터 를 실행 하 는 사용 자정 의 알고리즘 작성 과 코딩 을 할 수 있 습니다 . 이미 계산 집약 적 인 작업 부하 , 특히 머신 러닝 을 위해 GPU 가속 데이터베이스 의 데이터베이스 내 분석 은 이전 에 생각 조 차 할 수 없 었 던 새로운 기회 를 열 었 습니다 . 
 Kinetica 내 의 UDF 는 데이터베이스 내 에서 사용 자정 의 계산 W 데이터 처리 를 실행 할 수 있 습니다 . 본질 적 으로 이 는 고급 연산 – 그리드 분석 을 수행 하 는 매우 유연 한 수단 을 제공 합니다 . BI 와 AI 작업 부 하 는 동일 한 GPU 가속 데이터베이스 플랫폼 에서 함께 실행 할 수 있 습니다 . 사용 자정 의 함수 는 C ++, Java , Python 으로 작성 할 수 있 습니다 . 또한 Kinetica 에 는 머신 러닝 및 딥 러닝 용 사용 사례 와 함께 번들 로 TensorFlow 가 함께 제공 됩니다 . GlaxoSmithKline , ScotiaBank 와 세계 최대 유통 업체 중 하나 인 고객 은 고급 예측 분석 을 위해 UDF 프레임 워크 를 활용 합니다 . 
 5 - 2 . 지오 메트 릭 공간 지원 
 많 은 최신 스트리밍 데이터 세트 에 는 시간 및 위치 데이터 가 포함 됩니다 . 이러 한 유형 의 데이터 는 시기 적절 한 쿼리 와 대 규모 데이터 세트 의 시각화 를 위해 애널리스트 에게 고유 한 과제 를 제기 합니다 . 이러 한 지형 공간 데이터 세트 에 대한 쿼리 는 GPU 의 병렬 처리 에 이상 적 이 지만 지형 공간 작업 부하 를 염두 에 두 고 시스템 을 구축 해야 합니다 . 지리 적 태그 가 지정 된 데이터 작업 에 관련 된 작업 이 필요 한 경우 다음 기능 을 확인 하 십시오 . 
 기본 지리 공간 객체 지원 : 대부분 의 시스템 에서 개별 지점 을 저장 할 수 있 습니다 . 고급 시스템 은 점 , 선 , 다중 선 , 다각형 , 다중 다각형 , 지오 메트리 모음 , 트랙 , 레이블 과 같 은 보다 복잡 한 지형 객체 를 지원 해야 합니다 . Kinetica 는 복잡 한 벡터 데이터 유형 을 지원 하 고 지형 공간 데이터 를 Geospatial 표준 인 Well Known Text ( WKT ) 로 저장 합니다 . 
 기본 지리 공간 함수 : 지형 공간 데이터 를 사용 하 면 지정 되 거나 임의 의 영역 내 에서 패턴 을 찾 아야 합니다 . 이러 한 분석 을 위해 별도 의 지리 공간 시스템 으로 데이터 를 내보내 는 것 은 번거롭 고 느 립니 다 . GEO - JOIN , 필터 , 집계 , geofencing , 비디오 생성 과 같 은 지형 공간 기능 을 실행 할 수 있 는 데이터베이스 를 찾 아 신속 하 게 고급 분석 을 수행 하 십시오 . 
 Geo Visualization : 대 규모 데이터 세트 를 시각 화 하 는 것 은 웹 기반 클라이언트 의 복잡 한 과제 입니다 . Kinetica 는 지리 공간 쿼리 의 결과 를 히트 맵 또는 벡터 피쳐 오버레이 로 신속 하 게 렌더링 할 수 있 는 지형 공간 시각화 파이프 라인 을 포함 합니다 . Kinetica 는 OGC 표준 웹 서비스 인 Web Mapping Service ( WMS ) 와 Keyhole Markup Language ( KML ) 를 지원 합니다 . Kinetica 는 또한 복잡 한 기호 및 주석 을 렌더링 하 는 기능 을 지원 합니다 . 
 Kinetica 의 엔터 프라이즈 급 GPU 데이터베이스 는 수 년 동안 생산 되 어 왔으며 대 규모 배포 에서 도 신뢰 할 수 있 고 입증 되 었 습니다 . 모든 것 은 업계 표준 하드웨어 를 사용 하 는 온 프레 미스 또는 클라우드 의 GPU 인 스턴스 를 사용 하 여 고객 을 위한 손쉬운 배포 를 위해 단일 기술 로 단단히 결합 됩니다 . 
 https : / / www . kinetica . com / blog / choosing - gpu - analytics - database / 
 Prev 이전 글 Anything 2 Vec , Word 2 Vec 의 NLP 정복기 
 다음 글 실시간 토마토 질병 , 해충 딥 러닝 기반 탐지기 Deep Learning Meta - Architecture 국내 국립 농업 과 학원 과 국립 대학 이 함께 연구 한 논문 입니다 . 식물 질병 과 해충 은 농업 분야 에서 주요 한 도전 과제 입니다 . 식물 의 질병 과 해충 을 정확 하 고 신속 하 게 탐지 하 면 경제 적 손실 을 크 게 줄이 면서 조기 치료 기술 을 개발 하 는 데 도움 이 될 수 있 습니다 . Deep Neural Network 의 최근 발전 으로 인해 연구자 는 물체 감지 와 인식 시스템 의 정확 성 을 대폭 향상 시킬 수 있 었 습니다 . 이 논문 에서 는 다양 한 해상도 의 카메라 장치 로 촬영 된 이미지 를 사용 하 여 토마토 식물 의 질병 과 해충 을 탐지 하 는 딥 러닝 기반 접근 방식 을 제시 합니다 . 우리 의 목표 는 우리 업무 에 보다 적합 한 아키텍처 를 찾 는 것 입니다 . 따라서 우리 는 보다 빠른 Faster R - CNN , R - FCN , SSD 의 세 가지 주요 탐지기 를 고려 합니다 . Next