위키득계정 ↗

문서 둘러보기

기술↗

NATS 메시징

NATS는 응용들이 이름 붙은 Subject를 통해 메시지를 주고받는 공개 메시징 시스템이다. 상대 응용의 네트워크 주소를 직접 알지 않아도 서버를 통해 발행과 구독을 연결할 수 있다.

기술↗

Apache Pulsar

Apache Pulsar는 서버 사이의 메시지 교환과 스트리밍을 위한 분산 플랫폼이다. 여러 사용 조직이 같은 환경을 나누어 쓰는 구조와 토픽별 구독 방식을 지원하고 메시지의 영구 저장을 연결한다.

기술↗

RabbitMQ

RabbitMQ는 응용이 보낸 메시지를 받아 보관하고 수신 응용으로 전달하는 메시지 브로커다. 생산자와 소비자를 중개하며 교환기와 큐를 연결해 메시지가 전달될 경로를 정한다.

기술↗

Apache Flink

Apache Flink는 유한한 자료와 끝나지 않는 스트림에서 상태를 유지하는 계산을 수행하는 분산 처리 엔진이다. 시간과 상태를 다루는 실행 기능을 제공하며 여러 작업으로 나누어 클러스터에서 처리한다.

기술↗

Apache Kafka

Apache Kafka는 사건 스트림을 발행하고 구독하며 저장하고 처리하는 분산 플랫폼이다. 생산자가 기록한 사건을 토픽에 보관하고 소비자가 필요에 따라 읽도록 연결한다.

기술↗

Apache Storm

Apache Storm은 끝없이 들어오는 자료 흐름을 처리하는 분산 실시간 계산 시스템이다. 입력과 연산을 Topology라는 그래프로 연결하고 여러 작업자가 각 부분을 병렬로 실행한다.

기술↗

Apache Beam

Apache Beam은 배치와 스트리밍의 자료 병렬 처리 파이프라인을 공통 모델로 정의하는 공개 프로젝트다. SDK로 처리 흐름을 작성하고 Runner를 통해 선택한 분산 처리 엔진에서 실행한다.

기술↗

아이폰 벨소리 음량과 주시 지각 기능

벨소리 슬라이더의 실제 변화와 기기를 바라볼 때 알림 소리가 작아지는 현상을 구분해 확인한다.

기술↗

Apache Samza

Apache Samza는 여러 원천의 자료를 실시간으로 처리하는 분산 스트림 처리 프레임워크다. 상태를 유지하는 응용을 작성할 수 있으며 실행 환경과 자료 원천을 플러그인 방식으로 연결한다.

기술↗

Apache Tez

Apache Tez는 자료 처리 작업을 방향성 비순환 그래프로 표현하고 실행하는 응용 프레임워크다. Hadoop YARN 위에서 동작하며 복잡한 처리 단계를 하나의 작업 그래프로 연결할 수 있게 한다.

기술↗

Apache HBase

Apache HBase는 Hadoop과 HDFS 위에서 대규모 자료의 개별 읽기와 쓰기를 제공하는 분산 저장 시스템이다. Google Bigtable의 자료 관리 방식을 바탕으로 하며 Java 클라이언트와 여러 게이트웨이로 접근할 수 있다.

기술↗

Apache Impala

Apache Impala는 Hadoop 환경의 자료를 SQL로 분석하는 분산 질의 엔진이다. 저장 자료에 직접 접근하는 실행 엔진을 사용해 선택과 조인 및 집계 같은 대화형 분석을 처리한다.

기술↗

Apache Hive

Apache Hive는 분산 저장소의 자료를 SQL로 읽고 쓰며 관리하는 데이터 웨어하우스 시스템이다. 테이블 메타데이터와 질의 서비스를 제공해 대규모 분석 도구들이 저장 자료를 활용하도록 돕는다.

기술↗

Apache Kudu

Apache Kudu는 자료를 열 단위로 저장하면서 기본 키를 통한 개별 행의 조회와 갱신 및 삭제도 지원하는 분산 저장 시스템이다. 분석 엔진과 연결해 새로 들어오거나 변경되는 자료를 처리한다.

기술↗

Apache Hudi

Apache Hudi는 데이터 레이크의 테이블에 트랜잭션과 갱신 및 삭제를 제공하는 공개 데이터 플랫폼이다. 변경된 자료를 증분 처리하는 파이프라인과 테이블의 파일 관리 기능을 함께 제공한다.

기술↗

Delta Lake

Delta Lake는 데이터 레이크에 트랜잭션과 테이블 변경 관리 기능을 제공하는 공개 프로젝트다. 같은 테이블을 배치 처리와 스트리밍 처리에 연결하고 스키마 검사와 과거 버전 조회를 지원한다.

기술↗

Apache Iceberg

Apache Iceberg는 큰 분석 자료를 테이블로 관리하기 위한 공개 테이블 형식이다. 여러 질의 엔진이 같은 테이블을 다루도록 메타데이터와 변경 규칙을 정하고 스키마 변경과 스냅샷 조회를 지원한다.

기술↗

Substrait

Substrait는 구조화된 자료에 수행할 연산을 여러 언어와 시스템에서 주고받기 위한 공통 표현 형식이다. 질의 계획에 들어가는 연산의 의미와 직렬화 방식을 정해 계획 생성기와 실행 엔진의 연결을 돕는다.

기술↗

Apache DataFusion

Apache DataFusion은 Rust로 데이터 중심 시스템을 만들 때 활용하는 확장 가능한 질의 엔진이다. Apache Arrow의 메모리 표현을 사용하고 SQL과 DataFrame API로 자료 처리를 표현한다.

기술↗

ClickHouse

ClickHouse는 대규모 자료를 SQL로 분석하기 위한 열 지향 데이터베이스 관리 시스템이다. 많은 행에서 필요한 열을 읽어 필터와 집계 같은 분석 작업을 처리하는 데 초점을 둔다.

기술↗

OpenTSDB

OpenTSDB는 시간에 따른 측정 자료를 저장하고 조회하는 분산 시계열 시스템이다. TSD라는 데몬이 자료의 입출력을 맡고 HBase나 Google Bigtable 같은 저장 백엔드를 활용한다.

기술↗

Telegraf

Telegraf는 플러그인으로 지표와 사건 자료를 수집하고 처리해 목적지로 보내는 서버 에이전트다. 입력과 가공 및 집계와 출력을 조합해 관측 자료의 전달 흐름을 구성한다.

기술↗

TimescaleDB

TimescaleDB는 시계열과 사건 자료의 저장 및 분석을 위해 PostgreSQL을 확장하는 소프트웨어다. 시간을 기준으로 자료를 자동 분할하는 Hypertable과 구간별 집계 기능 등을 제공한다.

기술↗

InfluxDB

InfluxDB는 시간과 연결된 측정값과 사건 자료를 저장하고 분석하는 시계열 데이터베이스다. 센서와 시스템 관측 같은 연속적인 자료를 다루며 수집 도구와 클라이언트 라이브러리로 자료를 넣고 질의한다.

기술↗

VictoriaMetrics

VictoriaMetrics는 수치형 시계열을 수집하고 저장하며 질의하는 모니터링 시스템이다. Prometheus의 장기 저장소로 활용할 수 있고 단일 노드와 여러 노드로 구성하는 배치 형태를 제공한다.

기술↗

Graphite 모니터링

Graphite는 수치형 시계열 자료를 저장하고 필요할 때 그래프로 표현하는 모니터링 도구다. 외부 수집 도구나 응용이 보내는 측정값을 받아 시간에 따른 변화를 살펴보게 한다.

기술↗

Alertmanager

Alertmanager는 Prometheus 같은 클라이언트가 보낸 경보를 정리해 알맞은 수신처로 전달하는 도구다. 중복 제거와 그룹화 및 라우팅을 담당하고 조건이나 시간에 따라 알림을 억제할 수 있다.

기술↗

Thanos

Thanos는 Prometheus 기반 지표 수집을 장기 저장과 여러 인스턴스의 통합 조회로 확장하는 구성 요소 모음이다. 각 구성 요소가 저장과 조회 및 규칙 평가 등의 역할을 나누어 맡는다.

기술↗

Grafana Mimir

Grafana Mimir는 Prometheus와 OpenTelemetry의 지표를 장기간 보관하고 질의하는 공개 소프트웨어다. 여러 장비로 처리 용량을 확장하고 같은 설치 환경에서 팀별 자료와 질의를 분리하는 기능을 제공한다.

기술↗

Grafana Tempo

Grafana Tempo는 분산 추적의 실행 기록을 받아 저장하고 조회하는 추적 백엔드다. 여러 서비스가 만든 Span을 연결해 요청의 흐름을 확인하며 추적 식별자나 TraceQL 질의로 기록을 찾는다.

기술↗

Grafana Loki

Grafana Loki는 여러 시스템의 로그를 모으고 저장하며 질의하는 로그 집계 시스템이다. 같은 레이블을 가진 로그를 스트림으로 묶고 레이블에 색인을 만들어 관련 자료를 찾는다.

기술↗

Logstash

Logstash는 사건 자료를 입력받아 변환하고 다른 시스템으로 전달하는 데이터 처리 도구다. 입력과 필터 및 출력으로 이어지는 파이프라인을 구성하며 플러그인으로 다양한 자료 원천과 목적지를 연결한다.

기술↗

Fluent Bit

Fluent Bit는 로그와 지표 및 추적 자료 등을 수집하고 처리하는 공개 텔레메트리 에이전트다. 제한된 자원을 쓰는 환경에서 출발했으며 개별 장비의 에이전트나 여러 원천을 모으는 수집기로 배치할 수 있다.

기술↗

OTLP

OTLP는 OpenTelemetry에서 관측 자료의 인코딩과 전송 및 전달 동작을 정의하는 프로토콜이다. 자료를 만드는 응용과 중간 수집기 및 저장 백엔드 사이에서 추적과 지표 및 로그를 교환하는 데 사용한다.

기술↗

Fluentd

Fluentd는 여러 원천에서 발생한 로그와 사건 자료를 모아 가공하고 목적지로 전달하는 공개 소프트웨어다. 수집과 필터링 및 버퍼링과 출력을 연결해 서로 다른 시스템의 로그 처리 흐름을 통합한다.

기술↗

Zipkin

Zipkin은 여러 서비스에서 발생한 실행 기록을 모아 요청의 흐름과 소요 시간을 살펴보는 분산 추적 시스템이다. 응용에서 만든 Span을 수집하고 저장하며 질의 API와 웹 화면으로 추적 내용을 제공한다.

기술↗

OpenMetrics

OpenMetrics는 시스템의 수치 지표를 모니터링 도구 사이에서 교환하기 위한 표현 규격이다. Prometheus의 지표 공개 형식을 바탕으로 이름과 레이블 및 자료형의 의미를 명시하며 반복해서 읽은 값으로 상태 변화를 살펴보게 한다.

기술↗

OpenTracing

OpenTracing은 특정 추적 제품에 종속되지 않는 공통 계측 API를 제공한 분산 추적 프로젝트다. 응용 코드에 기록한 계측을 유지하면서 추적 구현을 바꿀 수 있도록 설계했으며 현재 프로젝트는 보관 상태다.

기술↗

W3C Baggage

W3C Baggage는 분산 요청이나 작업 흐름에 연결한 응용 프로그램의 속성을 전달하는 규격이다. baggage 헤더에 이름과 값으로 문맥을 담으며, 분산 추적의 사용 여부와 독립적으로 적용할 수 있다.

기술↗

W3C Trace Context

W3C Trace Context는 여러 서비스를 거치는 요청의 추적 문맥을 HTTP 헤더로 전달하는 규격이다. 서로 다른 추적 도구를 쓰더라도 같은 요청의 실행 관계를 이어서 파악할 수 있도록 공통 표현을 정한다.

기술↗

Dapper 분산 추적

Dapper는 Google이 큰 분산 시스템의 실행 흐름과 성능을 이해하기 위해 개발한 추적 기반 시설이다. 낮은 계측 부담과 넓은 적용 범위를 목표로 공통 라이브러리의 계측 및 표본 추출을 활용했다.

기술↗

Grafana

Grafana는 여러 저장소의 지표와 로그 및 추적 자료를 질의하고 시각화하는 공개 소프트웨어다. 자료 원천을 연결해 대시보드 패널과 탐색 화면 및 경보 규칙에서 활용한다.

기술↗

Jaeger 분산 추적

Jaeger는 여러 서비스에 걸친 요청의 실행 흐름을 수집하고 분석하는 공개 분산 추적 플랫폼이다. 추적 자료를 처리하고 시각화해 지연과 서비스 사이의 관계를 살피는 데 사용한다.

기술↗

Prometheus 모니터링

Prometheus는 시스템의 수치 지표를 시계열로 수집하고 질의하며 경보에 활용하는 공개 도구다. 지표 이름과 라벨로 자료를 구분하고 일반적으로 HTTP를 통해 대상에서 지표를 가져온다.

기술↗

CloudEvents

CloudEvents는 서비스와 플랫폼 사이에서 이벤트를 공통 방식으로 표현하기 위한 규격이다. 이벤트 본문과 함께 종류 및 발생 맥락과 식별자 같은 문맥 정보를 정의해 상호 운용을 돕는다.

기술↗

OpenTelemetry

OpenTelemetry는 응용 프로그램과 시스템의 추적 및 지표와 로그를 생성하고 수집해 내보내기 위한 공개 프레임워크다. 특정 관측 저장소에 종속되지 않는 계측 도구와 공통 규약을 제공한다.

기술↗

AsyncAPI

AsyncAPI는 메시지를 주고받는 응용의 인터페이스를 문서로 표현하는 규격이다. 연결할 서버와 채널 및 메시지, 응용이 수행하는 송수신 동작을 구분해 기술한다.

기술↗

JSON Schema

JSON Schema는 JSON 자료의 구조와 제약 조건을 선언적으로 기술하는 언어다. 스키마에 자료형과 속성 및 허용 조건을 정의하고 검증기가 실제 자료가 그 조건에 맞는지 확인한다.

기술↗

GraphQL

GraphQL은 API의 자료를 질의하는 언어와 그 질의를 실행하는 서버 측 체계다. 서비스가 정의한 자료형과 필드 안에서 클라이언트가 필요한 항목을 선택하며 특정 데이터베이스에 종속되지 않는다.

기술↗

OpenAPI 명세

OpenAPI 명세는 HTTP API의 기능을 프로그래밍 언어에 독립적인 문서로 기술하는 규격이다. 요청과 응답 및 서비스의 사용 방법을 사람이 읽거나 도구가 처리할 수 있게 표현한다.

기술↗

gRPC

gRPC는 서비스의 메서드와 입출력 메시지를 정의해 원격으로 호출하는 통신 체계다. 기본적으로 프로토콜 버퍼를 사용하며 단일 응답과 여러 형태의 스트리밍 호출을 지원한다.

기술↗

JSON-RPC

JSON-RPC는 JSON으로 원격 메서드 호출과 응답을 표현하는 가벼운 프로토콜이다. 특정 전송 방식에 묶이지 않으며 버전 2.0은 요청 식별자와 알림 및 묶음 호출의 규칙을 정의한다.

기술↗

Apache Thrift

Apache Thrift는 서로 다른 프로그래밍 언어로 작성한 서비스 사이의 통신을 돕는 프레임워크다. 자료형과 서비스 인터페이스를 정의하면 컴파일러가 클라이언트와 서버에 필요한 코드를 생성한다.

기술↗

BSON

BSON은 JSON과 비슷한 문서를 바이너리로 직렬화하는 형식이다. 문서와 배열을 중첩할 수 있으며 JSON에 없는 날짜 및 바이너리 자료형 같은 표현도 제공한다.

기술↗

CBOR

CBOR는 구조화된 자료를 간결한 바이너리로 나타내는 형식이다. 작은 구현 크기와 메시지 크기 및 확장성을 목표로 하며 별도 스키마 없이 자료 항목의 구조를 해석하도록 설계됐다.

기술↗

MessagePack

MessagePack은 여러 언어의 프로그램 사이에서 자료를 교환하기 위한 바이너리 직렬화 형식이다. 정수와 문자열 및 배열과 맵 같은 자료형을 바이트 표현으로 변환하는 규칙을 정의한다.

기술↗

Cap’n Proto

Cap’n Proto는 자료 교환 형식과 메모리 내 표현을 공통으로 사용하도록 설계한 직렬화 및 원격 호출 체계다. 메시지 전체를 다른 객체 형태로 풀지 않고 필요한 필드에 접근하는 방식을 제공한다.

기술↗

FlatBuffers

FlatBuffers는 직렬화된 버퍼의 자료를 별도의 전체 객체로 풀지 않고 접근하도록 설계한 라이브러리다. Google에서 게임과 성능에 민감한 응용을 위해 시작됐으며 여러 언어를 지원한다.

기술↗

SPSS 연령 구간 코드와 평균 나이

연령을 구간 선택지로만 수집했다면 선택지 번호의 평균을 평균 나이로 해석할 수 없다. 실제 나이가 없을 때는 구간별 빈도와 비율을 보고하고, 구간 대표값을 이용한 계산은 가정에 따른 추정으로 구별한다.

기술↗

프로토콜 버퍼

프로토콜 버퍼는 구조화된 메시지를 여러 언어와 플랫폼에서 읽고 쓰기 위한 직렬화 체계다. proto 파일에 자료 구조를 정의하고 컴파일러가 생성한 코드 및 실행 라이브러리로 메시지를 처리한다.

기술↗

Apache Avro

Apache Avro는 스키마를 이용해 구조화된 자료를 직렬화하는 형식이다. 자료를 쓸 때의 스키마를 함께 사용해 읽으며, 객체 컨테이너 파일과 원격 호출을 위한 규칙을 제공한다.

기술↗

Apache ORC

Apache ORC는 Hadoop 계열 분석 작업에 사용하는 열 지향 저장 형식이다. 파일과 스트라이프 및 행 그룹의 통계와 인덱스를 이용해 질의에 필요하지 않은 자료를 건너뛸 수 있다.

기술↗

Apache Parquet

Apache Parquet은 분석 자료를 효율적으로 저장하고 읽기 위한 열 지향 파일 형식이다. 행 그룹과 열 청크 및 페이지로 자료를 구성하며 압축과 인코딩을 활용한다.

기술↗

Apache Arrow

Apache Arrow는 표 형태 자료를 메모리에서 열 방향으로 표현하고 시스템 사이에 교환하기 위한 표준과 라이브러리다. 여러 언어가 공통 표현을 사용해 직렬화와 역직렬화의 부담을 줄이도록 한다.

기술↗

Apache Calcite

Apache Calcite는 여러 자료 처리 시스템에 질의 언어와 최적화 및 실행 기능을 제공하는 기반 프레임워크다. 확장 가능한 최적화기와 어댑터를 통해 서로 다른 자료 모델 및 저장소를 연결한다.

기술↗

Monarch 시계열 데이터베이스

Monarch는 Google의 응용 프로그램과 시스템을 모니터링하는 분산 메모리 내 시계열 데이터베이스다. 지역별 실행 구조를 전역 질의와 설정 계층으로 연결해 통합 서비스로 제공한다.

기술↗

Druid 분석 저장소

Druid는 큰 이벤트 자료를 빠르게 수집하고 탐색형 분석을 수행하기 위한 오픈 소스 저장소다. 열 지향 배치와 분산 구조 및 인덱스를 결합해 필터와 집계를 처리한다.

기술↗

Pinot 분석 시스템

Pinot은 스트림에서 들어오는 자료를 빠르게 수집하면서 많은 사용자의 분석 질의를 처리하기 위한 시스템이다. LinkedIn에서 개발됐으며 사용자에게 직접 제공되는 대화형 분석을 주요 대상으로 삼았다.

기술↗

F1 분산 SQL 데이터베이스

F1은 Google이 AdWords 업무를 지원하기 위해 만든 분산 관계형 데이터베이스다. Spanner의 동기 복제와 강한 일관성을 기반으로 SQL 질의 처리 및 변경 추적 기능을 결합한다.

기술↗

Presto 질의 엔진

Presto는 여러 종류의 저장 시스템에 SQL 분석 질의를 실행하는 오픈 소스 분산 엔진이다. 커넥터 인터페이스를 통해 자료 원천에 연결하고 대화형 보고서부터 긴 분석 작업까지 다루도록 설계됐다.

기술↗

HadoopDB

HadoopDB는 여러 단일 노드 데이터베이스를 Hadoop으로 연결하는 분석용 혼합 시스템이다. 노드 내부의 질의 처리는 데이터베이스에 맡기고 노드 사이의 작업 배정과 통신에는 MapReduce를 활용한다.

기술↗

TAO 소셜 그래프 저장소

TAO는 Facebook의 소셜 그래프를 제공하기 위해 개발된 분산 자료 저장소다. 객체와 관계에 맞춘 제한된 질의 인터페이스 및 그래프를 이해하는 캐시를 사용해 읽기 중심 작업을 처리한다.

기술↗

CORFU 공유 로그

CORFU는 여러 플래시 장치를 네트워크에서 함께 접근하는 하나의 공유 로그로 구성하는 설계다. 로그의 순서를 정하는 일과 실제 자료 입출력을 분리해 여러 클라이언트가 동시에 사용하도록 한다.

기술↗

체인 복제

체인 복제는 한 객체의 복제 서버들을 순서대로 연결하는 저장 시스템의 복제 방식이다. 변경은 앞쪽 서버에서 시작해 차례로 전달하고 조회는 마지막 서버에서 처리한다.

기술↗

iPhone 개인정보 보호 리포트의 연락처와 사진 접근

연락처·사진 접근 기록은 앱이 해당 데이터에 접근한 시점과 빈도를 보여준다. 이 기록만으로 사람이 앱을 직접 조작했는지, 정보가 외부로 전송됐는지, 계정이 침해됐는지를 확정할 수는 없다.

기술↗

ZooKeeper

ZooKeeper는 분산 응용 프로그램의 설정과 대표 선출 및 구성원 관리를 돕는 조정 서비스다. 계층적인 자료 객체와 변경 알림을 제공하며, 클라이언트가 필요한 조정 기능을 구성하도록 한다.

기술↗

Chubby 잠금 서비스

Chubby는 분산 시스템의 대표 서버 선출과 큰 단위의 동기화를 돕는 Google의 서비스다. 권고적 잠금과 적은 양의 신뢰할 수 있는 자료 저장을 제공하며 가용성과 안정성을 중시한다.

기술↗

Google 파일 시스템

Google 파일 시스템인 GFS는 큰 자료를 여러 컴퓨터에 나누어 저장하는 분산 파일 시스템이다. 대형 파일의 순차 읽기와 추가 쓰기가 많은 작업 부하를 고려하고 장비 장애를 일상적인 조건으로 다룬다.

기술↗

PNUTS

PNUTS는 Yahoo의 웹 응용 프로그램을 위해 개발된 지리적 분산 데이터베이스다. 자료를 여러 지역에 복제하면서 각 레코드의 변경을 모든 복제본이 같은 순서로 적용하도록 한다.

기술↗

Dynamo 저장 시스템

Dynamo는 Amazon 내부 서비스의 높은 가용성을 위해 개발된 분산 키값 저장 시스템이다. 장애 상황에서 일부 일관성을 양보하고 여러 객체 버전 및 응용 프로그램의 충돌 해결을 활용한다.

기술↗

C 스토어

C 스토어는 읽기 중심의 분석 작업을 위해 설계된 열 지향 관계형 데이터베이스다. 행 전체를 이어 저장하기보다 같은 열의 값을 모으고 압축된 표현을 활용한다.

기술↗

RDD 분산 자료 추상화

RDD는 여러 컴퓨터에 나누어 저장하는 읽기 전용 레코드 집합의 추상화다. 자료를 만든 변환의 계보를 기록해 잃어버린 부분을 다시 계산하며, Spark에서 구현됐다.

기술↗

Dataflow 처리 모델

Dataflow 처리 모델은 끝없이 들어오거나 순서가 뒤섞인 자료에서 정확성과 응답 지연 및 처리 비용을 조절하기 위한 접근이다. 모든 자료가 도착했다고 확정하기 어렵다는 가정에서 계산의 의미를 정한다.

기술↗

Naiad 자료 흐름 시스템

Naiad는 순환 구조를 포함하는 자료 병렬 프로그램을 실행하는 분산 시스템이다. Timely Dataflow 모델을 바탕으로 스트림 처리와 반복 계산 및 증분 계산을 하나의 실행 환경에서 다룬다.

기술↗

MillWheel 스트림 처리

MillWheel은 계속 들어오는 자료를 낮은 지연으로 처리하기 위한 Google의 프레임워크다. 방향 있는 계산 그래프의 각 노드에 응용 코드를 지정하면 시스템이 영속 상태와 레코드 흐름을 관리한다.

기술↗

Percolator 증분 처리

Percolator는 큰 자료 저장소에 생기는 작은 변경을 점진적으로 처리하는 Google의 시스템이다. Bigtable 위에 분산 트랜잭션과 변경 알림을 결합해 관련 처리 단계를 이어간다.

기술↗

컨텍스트 윈도우와 학습 대화 이어가기

컨텍스트 윈도우는 모델이 한 번에 고려할 수 있는 정보의 범위다. 학습 대화를 새 채팅으로 이어갈 때는 전체 기록보다 목표와 진도, 오답, 다음 질문을 짧게 전달하는 방법을 사용할 수 있다.

기술↗

Dryad 분산 실행

Dryad는 순차 프로그램들을 자료 흐름 그래프로 연결해 여러 컴퓨터에서 실행하는 분산 엔진이다. 계산을 담당하는 정점과 자료를 전달하는 단방향 채널로 병렬 응용 프로그램을 구성한다.

기술↗

FlumeJava

FlumeJava는 여러 단계의 자료 병렬 처리 파이프라인을 작성하고 실행하기 위한 Java 라이브러리다. 불변 병렬 컬렉션과 지연 평가를 이용해 실행 계획을 만들고 최적화한 뒤 계산한다.

기술↗

MapReduce

MapReduce는 큰 자료를 여러 컴퓨터에서 나누어 처리하는 프로그래밍 모델과 실행 시스템이다. 입력을 중간 키값 쌍으로 바꾸는 Map 단계와 같은 키의 값을 합치는 Reduce 단계로 계산을 표현한다.

기술↗

Pregel 그래프 처리

Pregel은 큰 그래프를 여러 차례의 반복 계산으로 처리하는 Google의 분산 시스템이다. 각 정점이 메시지를 받고 자신의 상태를 바꾸는 정점 중심의 프로그래밍 모델을 사용한다.

기술↗

Bigtable

Bigtable은 Google이 대규모 구조화 자료를 여러 서버에 나누어 저장하기 위해 개발한 시스템이다. 행과 열 및 시각을 기준으로 값을 찾는 정렬된 맵 형태의 자료 모델을 제공한다.

기술↗

Dremel 분석 시스템

Dremel은 읽기 전용 중첩 자료를 대화형 질의로 분석하기 위한 Google의 시스템이다. 열 방향 자료 배치와 여러 단계의 실행 트리를 결합해 대규모 집계 질의를 처리한다.

기술↗

한국어 MoB 토큰화와 자모 기반 토큰화

한국어 토큰화는 형태소와 어절 구조를 반영하거나 한글 음절을 자모로 분해하는 방식으로 연구된다. MoB는 형태소 기본형 복원과 경계 표시를 결합한 방법이다.

기술↗

Megastore

Megastore는 Google이 대화형 온라인 서비스를 위해 개발한 저장 시스템이다. 자료를 작은 파티션으로 나누고 각각을 동기 복제하며, 파티션 안에서는 직렬 가능한 ACID 트랜잭션을 제공한다.

기술↗

Spanner 데이터베이스

Spanner는 Google이 개발한 전 세계 분산 데이터베이스다. 자료를 여러 버전으로 보관하고 동기 복제를 수행하며, 시계의 불확실성을 드러내는 시간 인터페이스를 트랜잭션 순서 보장에 활용한다.

기술↗

FaRM 분산 메모리

FaRM은 클러스터에 속한 여러 서버의 메모리를 공유 주소 공간으로 제공하는 분산 컴퓨팅 플랫폼이다. RDMA를 이용해 원격 자료를 읽거나 메시지를 전달하며 객체를 트랜잭션으로 다루도록 설계됐다.

기술↗

Sundial 분산 동시성 제어

Sundial은 분산 OLTP 데이터베이스에서 동시성 제어와 원격 자료 캐싱을 하나의 프로토콜로 다루는 방식이다. 논리적 임대 정보를 이용해 커밋 순서를 정하고 캐시된 자료의 일관성을 관리한다.

기술↗

Cicada 트랜잭션 처리

Cicada는 단일 서버의 여러 코어에서 트랜잭션을 처리하는 메모리 내 데이터베이스다. 낙관적 실행과 다중 버전 및 스레드별 시계를 결합해 다양한 작업 부하에서 경합 비용을 줄이도록 설계됐다.

기술↗

ERMIA 데이터베이스

ERMIA는 읽기 위주의 긴 트랜잭션과 짧은 변경 작업이 함께 실행되는 환경을 고려한 메모리 최적화 데이터베이스다. 스냅샷 격리를 기본으로 활용하며 필요할 때 직렬 가능성도 제공하도록 설계됐다.