* Apache HBase Write Path - Apache Hbase 는 hadoop의 HDFS를 기반으로 하는 database이다. HDFS 상의 파일은 생성 후에 오직 append 기능만을 제공하며 read 작업 수행 시 block 단위로 full-scan 이 이루어지는데, HBase를 사용하면 HDFS 상의 데이터를 랜덤액세스random access 하거나 업데이트update 가능하도록 해준다. HBase는 어떻게 low-latency로 이런 read/write 를 제공할 수 있을까? - Hbase write path는 hbase의 put/delete 연산이 어떻게 이루어지는지에 대한 방법을 나타낸 것으로 client 에서 시작하여 region server를 거쳐 결국에는 HFile이라고 불리는..
SETUP Non-transactional mutable 인덱스는 region server 와 master server에 특별한 설정을 함으로써 phoenix가 해당 테이블에 대해 mutable 인덱싱을 수행하는 것을 보장한다. 만약 올바르게 설정이 되어 있지 않다면 세컨더리 인덱싱을 사용할 수 없다. 아래의 값들을 hbase-site.xml 에 추가하고 난뒤 클러스터를 rolling restart 수행해야 한다. 각 region 서버에 다음 설정을 추가해야 한다. hbase.regionserver.wal.codec org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec 위의 properties는 커스텀 WAL edits을 쓰게 설정하고 인덱스 업데이..
Secondary Indexing Secondary index 는 기존에 HBase에서 설정된 primary row key가 아닌, 별도의 primary 접근 경로를 추가해 통해 데이터에 직접 접근하는 방식이다. (HBase에서는 primary row key를 사전적순서로 정렬된 하나의 Index만 가지고 있다.) primary row가 아닌 다른 방식으로 데이터를 접근하기 위해서는 설정한 filter 값과 상관 없이 내부적으로 full-scan(테이블의 모든 rows에 접근)이 이루어져야 한다. 하지만 secondary index를 이용하면 미리 설정한 column 이나 expression 을 통해서 row key 에 접근할 수 있고 full-scan이 아닌 range-scan 이나 point-look..
* Transaction (beta 기능) Phoenix는 기존 HBase 의 row-level 의 트랜잭션을 넘어서, Phoenix는 여러 row나 table을 대상으로 트랜잭션을 지원하는데, Apache Tephra를 통해서 ACID를 보장한다. Tephra는 현재의 트랜잭션에 대한 snapshot을 제공하는데, 이는 multi-version의 동시성 제어를 지원한다. 이 기능을 사용하기 위해서는 phoenix 에서 다음과 같은 두 단계의 설정이 필요하다 1. hbase-site.xml 에 다음 property 추가 phoenix.transactions.enabled true 2. server-side(hmaster) hbase-site.xml 에 트랜잭션 매니저 설정값 입력. (Tephra의 'Tr..
MEETUP2018년 6월 18일 월요일All things Spark - Machine Learning, Atlas integration, ORC & Hive EDW updatesFuture of D.주최자: Future of D.Future of Data: Silicon Valley에서 Apache Spark has become one of the most popular in-memory compute engines due to its elegant and expressive development APIs combined with enterprise readiness. At the meetup we will focus on machine and deep learning use cases and perf..
Apache Hadoop YARN: state of the unionTECHNICAL Big Compute and StorageTuesday, June 1911:00 AM - 11:40 AMGrand Ballroom 220AApache Hadoop YARN is the modern distributed operating system for big data applications. It morphed the Hadoop compute layer to be a common resource management platform that can host a wide variety of applications. Many organizations leverage YARN in building their applica..
Kerberos Overview 개요커버로스(Kerberos)는 우리가 흔히 알고 있는 그리스 로마신화에 나오는 머리 셋 달린 댕댕이이다. 흔히들 케르베로스라고 부르는 그것. 하지만 IT용어에서 커버로스는 프로토콜을 뜻하는 말로, 사용자와 서비스에 대해서 인증과 보안을 제공하기 위한 강한 보안 솔루션이다 (참조:https://ko.wikipedia.org/wiki/커버로스)사용자가 특정한 서비스에 접근하거나, 서비스가 다른 서비스에 접근 할 때 인증과 권한에 대한 정보를 관리하고 프로세스에 필요한 여러 기능(ticket 발생, 비밀키-대칭키를 통한 보안)들을 제공해 준다. 개인적으로 사용성이 그렇게 좋다고 생각하지 않는데 업계의 표준과도 같이 적용되는 것을 보자면 이는 강한 보안성에서부터 비롯되는게 아닌..
컴퓨터 공부를 한지 꽤 오래 되었음에도 불구하고 Web이랑은 벽을 쌓고 지냈지만, 요즘들어 JS 코드를 볼 일이 많아졌다. 주어진 시간이 많지 않아 꼼꼼히 하나하나 확인하기 어렵지만, 간이라도 맞추기 위해 나무위키에서 찾아 끄적여 보았다. JavaScript (JS) - 동적으로 웹페이지를 생성하기 위해 사용되는 언어. - HTML, CSS, JavaScript가 웹 구성의 3요소 정도로 인식되고 있다. - HTML이 웹 페이지의 기본 구조를 담당하고, CSS가 디자인을 담당한다면 JavaScript는 클라이언트 단에서 웹 페이지가 동작하는 것을 담당한다. - 브라우저 내에 스크립트엔진(interpreter)가 존재하여 client 에서 동작하여 웹페이지를 생성함. Java와 Javascript는 별개의..