JBoss EAP & Wildfly

In Memory Data Grid – JBoss Datagrid (Infinispan) 에 대한 웨비나 동영상

facebook의 Server Side Architecture Group에서는 오픈나루 전준식 이사([거침없이 배우는 JBoss: 오픈소스 미들웨어 JBoss EAP 6 & AS 7 이해하기] 저자)의 진행으로 “In Memory Data Grid-Infinispan(JBoss Data Grid)”라는 주제로 웹미나가 펼쳐졌습니다.

주요 내용은 다음과 같습니다.

Consistent Hashing 알고리즘

• The Origin

• 알고리즘

• 구현 방법

In Memory Data Grid

•  Use Cases

•  References

Infinispan(JBoss Data Grid)

• 주요 특징

• Library Mode & Server Mode

• Cache Topology

• Eviction & Expiration

• Cache Store

• Infinispan Code Sample

• Distributed Executor

• Map/Reduce

• Query

• Data Grid API(Transaction 등)

Performance

• RadarGun 성능 측정

• Azul Zing + JBoss Data Grid

샘플 코드

• Simple PUT/GET

• XML설정 PUT/GET

• Spring Integration 샘플

• Queue 예제

• OPENMAUR Installer 을 이용한 Live 서버 설치

• HotRod Client 샘플

샘플코드는 Github에 올린 후 다시 Update 하겠습니다.

References & Related Links

거침없이 배우는 JBoss10점
전준식 엮음/지&선(지앤선)

Steve Yen 이 분류한 NoSQL 의 종류

Steve Yen 이 분류한 NoSQL 의 종류들은 다음과 같습니다.

  • key‐value‐cache
  • key‐value‐store
  • consistent key‐value‐store
  • ordered‐key‐value‐store
  • data‐structures server
  • tuple‐store
  • object database
  • document store
  • wide columnar store

위의 분류에 따라 간단하게 제품들을 정리합니다.

분류 제품 설명
Key-value-cache Memchaced Memcached is an in-memory key-value store for small chunks of arbitrary data
Repcached repcached는 memcached에 데이터 복제 기능을 추가 구현
Coherence Oracle의 Data Grid 제품
Infinispan 오픈소스 Data Grid 제품으로 RedHat의 JBoss Data Grid 로도 유상 서비스로 구매 가능
WebSphere eXtreme Scale IBM의 Data Grid 제품
JBoss Cache Infinispan 의 이전 제품명
Velocity Microsoft 의 캐시 제품
Teracotta Terracotta는 각 캐시 노드들의 Hub 역할을 하는 분산 캐시 서버
keyvaluestore Keyspace Keyspace is a consistently replicated, fault-tolerant key-value store
FLARE Flare는 memcached 호환 분산 key-value 스토리지 서버
RAMCloud Designed primarily for usage within a datacenter
Roma Ruby 에서 분산 Key-Value Store
eventuallyconsistent

keyvaluestore

dynamo 아마존 웹서비스(AWS)에 NoSQL 데이터베이스(DB)
Project Voldemort 분산 Key-Value 저장 시스템
dynomite Erlang 으로 작성된 Dynamo를 복제한 오픈소스
SubRecord SubRecord is a Distributed, scalable, non-relational, attribute-oriented storage supposed to be used in the cloud
DovetailDB DovetailDB is a schemaless, JSON-based database. It is similar in spirit to Amazon ‘s SimpleDB
MemcacheDB MemcacheDB is a Distributed Key-value storage system designed for persistent
Orderd-key-value-store tokyo Tyrant Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet
LightCloud LightCloud는 Tokyo Cabinet / Tokyo Tyrant를 백엔드에 사용하는 분산 key-value 데이터베이스
nmdb nmdb is a network Database (dbm-style) for controlled networks
Lux IO Lux IO is a yet Another fast Database Manager
actord
Data-structures server redis Redis is an Advanced Key-value store. It is similar to memcached but the dataset is not volatile
Tuple-store GigaSpaces eXtreme Application Platform The Scalable, High Performance Application Server for High-End Distributed Applications
coord coord is an Open Source Implementation of a SBA (Space-based Architecture) built on DHT (Distributed Hash Table)
Apache River A Project furthering the Development and advancement of Jini Technology
Object database Zope Object Database The ZODB is a persistence System for python Objects
db4objects Java/.NET에 네이티브 db4o를 통합하면 손쉽게 저장
Project Shoal Shoal is a Java based scalable dynamic clustering Framework that Provides Infrastructure to build fault tolerance, reliability and availability.
Document store CouchDB Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript
mongo The Best Features of document databases, key / values stores, and RDBMSes in one
Jackrabbit Apache Jackrabbit is a Fully conforming Implementation of the Content Repository for Java Technology API
ThruDB Thrudb is a SET of simple Services Built on top of the 아파치 Thrift Framework that Provides indexing and document Storage Services for Building and scaling WebSites
CloudKit CloudKit Provides schema-free auto-versioned, RESTful JSON storage with optional OpenID and OAuth support, including OAuth Discovery
Persevere Persevere helps you rapidly Develop data-driven JavaScript-based rich internet applications
Riak Basho Riak combines a decentralized Key-value store, a flexible map / reduce engine, and a friendly HTTP / JSON query interface to provide a database ideally suited for Web applications
Scalaris Scalaris is a scalable, transactional, distributed key-value store. It can be used for building scalable Web 2.0 services
Wide columnar store bigtable Bigtable is a Distributed Storage System for Managing Structured data that is Designed to scale to a very Large Size
HBase HBase is the Hadoop Database. Use it when you need random, realtime read / write access to your Big Data
cassandra Project Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store
Hypertable In a web-driven world, datasets are larger than ever before – with “web scale” becoming the term of choice to describe the ultimate size of problems
kai Kai is a Distributed Key-value datastore, which is mainly inspired by Amazon ‘s Dynamo
OpenNeptune Neptune is Another Open Source Project Implementing Google’s Bigtable

말이 없는 마차처럼 SQL 없는 데이터베이스 – NoSQL 분류와 제품들