슬라이드 1

Size: px
Start display at page:

Download "슬라이드 1"

Transcription

1 MongoDB 1. 도구개요 2. 설치및실행 3. 주요기능 4. MongoDB 구성

2 1. 도구개요 1.1 도구정보요약 도구명소개특징주요기능 MongoDB ( 문서지향데이터베이스로분류되는 NoSQL 라이선스 GNU AGPL v3.0 NoSQL 데이터베이스중에서대중적인지도가가장높은데이터베이스 JSON 기반의유연한스키마를지원하며, 일관성 (Consistency) 와장애내구성 (Partition Tolerance) 를지원 유연하고확장성이높은데이터베이스 범위쿼리, 보조인덱스, 정렬기능을제공하고집합연산을위한 MapReduce 와지리검색색인을제공 파일저장소로활용가능, 파일과파일의메타정보를저장하는프로토콜제공 다중언어지원 : C, C++, C#,.Net, Java, Node.js, Perl, PHP, Python, Ruby, Scala, Go, Erlang 문서지향데이터베이스 (Document-Oriented Database) Schema free Full Index 지원 GridFS 실행환경 Windows, Linux, OS X, Solaris 사전설치도구 없음 카테고리 데이터베이스최신버전 2.6 ( ) 관련도구 CouchDB, Redis, BigCouch, Riak, MemCached, 2

3 1. 도구개요 1.2 스크린캡쳐및주요기능 JSON 스타일의문서기반 NoSQL 데이터베이스 다양한프로그래밍언어및프레임워크지원 Auto-Sharding, 복제및고가용성, Full-Index, MapReduce 작업지원 MongoDB 는서버용프로그램으로스크린캡쳐할도구화면은없음 Auto-Sharding Replication High-Availability Full-Index MapReduce 3

4 2. 설치및실행 세부목차 2.1 다운로드 2.2 설치및실행 ( 윈도우 ) 2.3 설치및실행 ( 리눅스 ) 2.4 설치및실행 (OS X) 2.5 MongoDB 구성 2.6 mongod 옵션과실행 4

5 2. 설치및실행 2.1 다운로드 MongoDB 는윈도우, 리눅스, 맥그리고솔라리스를지원한다. 에서운영체제별설치파일을다운로드받을수있다. 5

6 2. 설치및실행 2.2 설치및실행 ( 윈도우 ) 설치 에서윈도우를선택하고설치파일을다운로드받는다 버전의설치파일명은 mongodb-win32-x86_ plus signed.msi 이다. 이설치파일을더블클릭하여다음과같이설치를진행한다. 6

7 2. 설치및실행 2.2 설치및실행 ( 윈도우 ) MongoDB 의기본설치디렉터리 : C:\Program Files\MongoDB 2.6 Standard MongoDB 설치디렉터리아래의 bin 디렉터리를윈도우환경변수에등록하는것이편리하다. 윈도우환경변수등록절차 [ 내컴퓨터 ]-[ 마우스오른쪽버튼 ]-> 관리 -> 시스템 -> 고급시스템설정 환경변수클릭 -> 시스템환경변수에서 path 변수드블클릭 Path 의마지막에 ;C:\Program Files\MongoDB 2.6 Standard\bin 추가 7

8 2. 설치및실행 2.2 설치및실행 ( 윈도우 ) MongoDB 를실행하기위해서는데이터가저장될물리적인디렉터리를지정해야한다. MongoDB 데이터저장디렉터리생성 : c:\mongodb\data Command Console 을오픈하고 mongod 프로세스시작 두번째 Command Console 을오픈하고 mongo 입력 mongod 프로세스실행윈도우커멘드콘솔 C:\mongodb>mongod --dbpath c:\mongodb\data T12:47: [initandlisten] MongoDB starting : pid=4576 p ort=27017 dbpath=c:\mongodb\data 64-bit host=alvin-pc T12:47: [initandlisten] targetminos: Windows 7/Windo ws Server 2008 R T12:47: [initandlisten] db version v T12:47: [initandlisten] git version: e99d4fcb4279c f237aa92fe3b64560bf T12:47: [initandlisten] build info: windows sys.getwind owsversion(major=6, minor=1, build=7601, platform=2, service_pack='service Pack 1 ) BOOST_LIB_VERSION=1_ T12:47: [initandlisten] allocator: system T12:47: [initandlisten] options: { storage: { dbpath: "c: \mongodb\data", smallfiles: true } } ## ## 로그중간생략 ## T12:47: [initandlisten] command local.$cmd command: create { create: "startup_log", size: , capped: true } ntoreturn:1 keyupdates:0 numyields:0 reslen:37 565ms T12:47: [initandlisten] waiting for connections on port mongo 프로세스실행윈도우커멘드콘솔 C:\mongodb>mongo MongoDB shell version: connecting to: test > 8

9 2. 설치및실행 2.3 설치및실행 ( 리눅스 ) 리눅스용 MongoDB 설치파일다운로드 압축풀기 tar zxvf mongodb-linux-x86_ tgz MongoDB 데이터보관디렉터리생성 : mkdir data Mongod 데몬실행 :./mongod dbpath /home/mongodb/data 설치파일다운로드, 압축풀기및데이터디렉터리생성 (Terminal 1) mongod 데몬실행 (Terminal 1) mongodb@mongodb:~$ wget ux/mongodb-linux-x86_ tgz ########## ## 로그생략 ########## :05:45 (64.8 MB/s) - `mongodb-linux-x86_ tgz' s aved [ / ] mongodb@mongodb:~$ tar zxvf mongodb-linux-x86_ tgz mongodb-linux-x86_ /readme mongodb-linux-x86_ /third-party-notices mongodb-linux-x86_ /gnu-agpl-3.0 ########## ## 로그생략 ########## mongodb-linux-x86_ /bin/mongo mongodb@mongodb:~$ mkdir data mongodb@mongodb:~/mongodb-linux-x86_ /bin$ pwd /home/mongodb/mongodb-linux-x86_ /bin mongodb@mongodb:~/mongodb-linux-x86_ /bin$./mong od --dbpath /home/mongodb/data T15:08: [initandlisten] MongoDB starting : pid =5516 port=27017 dbpath=/home/mongodb/data 64-bit host=mong odb ########## ## 로그생략 ########## T15:14: [clientcursormon] connections:0 mongo 데몬실행 (Terminal 2) /home/mongodb/mongodb-linux-x86_ /bin mongodb@mongodb:~/mongodb-linux-x86_ /bin$./mongo ########## ## 로그생략 ########## Questions? Try the support group > 9

10 2. 설치및실행 2.4 설치및실행 (OS X) 맥 OS X 에는리눅스와마찬가지로배포본을다운로드하고설치하는방법과 brew 를이용하여설치하는방법두가지가있다. 설치배포본을다운로드하고설치하는방법은리눅스설치와동일하다. OS X 에 brew 설치되어있다면, 터미널에서다음과같은 brew 명령으로설치를할수있다. # 으로시작하는문자열은터미널상의주석 ># brew 페지키데이터업데이트 >brew update ># MongoDB 바이너리설치 >brew install mongodb ># 최신개발버전설치 >brew install mongodb --devel 10

11 2. 설치및실행 2.5 MongoDB 구성 MongoDB 는여러서버에데이터를분산하여저장하도록클러스터를구성할수있다. 클러스터내의각서버는특정영역의데이터를관리하며 MongDB 에서는이것을샤딩 (Sharding) 이라고한다. MongoDB 는 3 가지종류의서버를이용하여샤딩을구성한다. mongod 서버 Config 서버 mongos 서버서버유형 설명 mongod 데이터를저장및관리하고복제정책을적용하는서버. mongod (configsvr) 특수한형태의 mongod 서버, 샤딩에대한환결설정서버로클러스터의메타정보 ( 파티셔닝정보 ) 를관리하는서버. mongod 서버시작시 configsvr 옵션으로시작함. 안정성을위해서운영모드에서는 3 개의 configsvr 서버를운영해야함. 2 개의 configsvr 서버가장애가발생할경우남아있는 1 개의서버는읽기전용으로운영됨 mongos configsvr 서버의파티셔닝정보를참조하여사용자요청을포워드하는역할을담당, configsvr 서버의메타정보를캐쉬하여사용. 11

12 2. 설치및실행 2.6 mongod 옵션과실행 MongoDB 클러스터의데이터를관리하는 mongod 서버다수의옵션을포함한다. 구분옵션설명 dbpath 데이터저장디렉터리 ( 기본값 : /data/db) port 포트번호지정 ( 기본값 : 27017) 일반옵션 smallfiles fork 기본파일사이즈보다작은파일사이즈사용 백그라운드프로세스로실행 maxconns 동시최대커넥션수 ( 기본값 : 1,000,000) 마스터 / 슬레이브옵션 logpath config master slave source 로그파일경로옵션을포함하는설정파일지정마스터 / 슬레이브구성시마스터서버역할수행마스터 / 슬레이브구성시슬레이브서버역할수행마스터 / 슬레이브구성시마스터서버역할설정 리프리카옵션 replset 복제-셋서버구성으로실행 shardsvr 데이터를여러노드에분산하는샤딩구성으로서버실행 샤드옵션 configsvr 클러스터의메타정보저장데이터베이스로실행 12

13 2. 설치및실행 2.6 mongod 옵션과실행 mongod 를실행하는방법에는명령어에옵션을추가하거나설정파일을사용하는방법두가지가있다. 명령어옵션지정방식 > bin/mongod --dbpath /home/mongodb/data --port logpath / home/mongodb/mongolog 설정파일지정방식 설정파일 ( 파일명 : config) dbpath = /home/mongodb/data port = logpath = /home/mongodb/mongolog > bin/mongod --config./config 13

14 세부목차 3.1 MongoDB 개요 3.2 MongoDB Shell 3.3 기본 CRUD 3.4 Aggregation ( 집계 ) 3.5 웹관리콘솔 3.6 자바드라이버 14

15 3.1 MongoDB 개요 MongoDB 와 RDBMS MongoDB 와 RDBMS 의용어비교 Database Table Index Row Column Join Primary key RDBMS MongoDB Database Collection Index BSON Document BSON field Embedding & Linking _id field 15

16 3.1 MongoDB 개요 Document MongoDB 는 JSON 기반의 Document( 문서 ) 를데이터저장단위로한다. 실제저장되는 Document 의형태는 BSON(Binary JSON) 이다. BSON 은 JSON 을바이너리형태로직렬화한다. Document 크기제한 : 16 Mbyte { "_id" : 1, "name" : { "first" : "John", "last" : "Backus" }, "contribs" : [ "Fortran", "ALGOL", "Backus-Naur Form", "FP" ], "awards" : [ { "award" : "W.W. McDowell Award", "year" : 1967, "by" : "IEEE Computer Society" }, { "award" : "Draper Prize", "year" : 1993, "by" : "National Academy of Engineering" } ] } 16

17 3.2 MongoDB Shell MongoDB 접속 MongoDB 는자바스크립트를기반으로하는 Mongo Shell 을제공한다. Mongo Shell 은 MongoDB 에접근하여데이터베이스에데이터를저장하고관리하는기능을수행할수있다. Mongo Shell 은 bin/mongo 로실행한다. bin/mongo 사용법 mongo 명령어사용예제 mongo foo mongo dbserver.mydomain.com/foo mongo dbserver.mydomain.com:30000/foo 로컬머신 ( ) 의 포토에연결 로컬머신 ( ) 의 포토의 foo 데이터베이스에연결 dbserver.mydomain.com 의 포트의 foo 데이터베이스에연결 dbserver.mydomain.com 의 포트의 foo 데이터베이스에연결 17

18 3.2 MongoDB Shell 데이터베이스정보조회 MongoDB 의모든데이터베이스조회 show dbs 데이터베이스로이동 use db_name 이동한데이터베이스의모든 Collection 조회 Show collections use db_name 으로새로운데이터베이스에접근할경우해당데이터베이스는실제로존재하지않는다. 첫번째데이터가추가될때데이터베이스가만들어진다. MongoDB shell version: connecting to: test > show dbs admin (empty) local 0.078GB > use local switched to db local > show collections startup_log system.indexes > 18

19 3.2 MongoDB Shell 데이터베이스정보조회 데이터베이스정보요약 db.stats() > db.stats() { } "db" : "demo", "collections" : 3, "objects" : 604, "avgobjsize" : , "datasize" : 61728, "storagesize" : , "numextents" : 5, "indexes" : 1, "indexsize" : 32704, "filesize" : , "nssizemb" : 16, "datafileversion" : { "major" : 4, "minor" : 5 }, "extentfreelist" : { "num" : 4, "totalsize" : }, "ok" : 1 19

20 3.2 Mongo Shell 데이터베이스정보조회 Collection 정보요약 db.[collection_name].stats() > show collections movies system.indexes > db.movies.stats() { "ns" : "demo.movies", "count" : 600, "size" : 61472, "avgobjsize" : 102, "storagesize" : , "numextents" : 3, "nindexes" : 1, "lastextentsize" : , "paddingfactor" : 1, "systemflags" : 1, "userflags" : 1, "totalindexsize" : 32704, "indexsizes" : { "_id_" : }, "ok" : 1 } 20

21 3.3 기본 CRUD Document 생성 (Insert) MongoDB 는 db.collection_name.insert() 와 db.collection_name.save() 를이용하여문서를저장한다. collection_name 은사용하고자하는 Collection 이름으로대체된다. Collection 이존재하지않을경우즉시만들어진다. insert() 와 save() 의차이점 insert() 는저장할문서의 _id 가기존에존재할경우에러발생시킨다. save() 는저장할문서의 _id 가기존에존재할경우기존문서를수정하고기존에 _id 가존재하지않을경우 insert() 와동일하게동작한다. _id 는 MongoDB 가자동할당한키필드이다. > db.baseball.insert( {playername:"park chanho"} ) WriteResult({ "ninserted" : 1 }) > db.baseball.save( {playername:"ryu hyunjin"} ) WriteResult({ "ninserted" : 1 }) > db.baseball.find() // 현재 baseball 컬렉션에모든데이터를조회하는함수 { "_id" : ObjectId("545828a f8b1a1ea42"), "playername" : "park chanho" } { "_id" : ObjectId("545829e f8b1a1ea43"), "playername" : "Ryu hyunjin" } > // _id 를포함한 document 를 save 함수로저장 > db.baseball.save( { "_id" : ObjectId("545829e f8b1a1ea43"), "playername" : "Ryu hyunjin", team:"la Dodgers"} ) WriteResult({ "nmatched" : 1, "nupserted" : 0, "nmodified" : 1 }) > db.baseball.find() { "_id" : ObjectId("545828a f8b1a1ea42"), "playername" : "park chanho" } { "_id" : ObjectId("545829e f8b1a1ea43"), "playername" : "Ryu hyunjin", "team" : "LA Dodgers" } 21

22 3.3 기본 CRUD Document 조회 조회함수 MongoDB 의가장큰강점중하나는 RDBMS 의테이블대신 BSON 문서를필터링하고반환하지만, 기존의관계형데이터베이스와거의같은방식으로작동하는쿼리를강력하게지원한다는점이다. MongoDB 를사용하면비교적복잡한 SQL 쿼리를 Javascript 함수호출로쉽게변환할수있다. db.collection.findone(<criteria>, <projection>) // 조건에맞는문서 1 개를반환 db.collection.find(<criteria>, <projection>) // 조건에맞는문서를반환하는 Curson 를반환 Parameter Type 설명예제 criteria document 선택적파라미터 조회조건을 document 형태로전달 이파라미터를생략하거나빈문서 ( { } ) 를전달할경우전체문서반환 projection document 선택적파라미터 반환할문서의필드를지정 전체필드를모두반환할경우, 이파라미터를생략함 Query Operator 를사용 { field1: true, field2: false... } Value true or 1 false or 0 22

23 3.3 기본 CRUD Document 조회쿼리예제 조회쿼리 설명 db.bios.find() db.products.find( { qty: { $gt: 25 } } ) db.bios.find( { _id: 5 } ) db.bios.find( { _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } ) db.products.find( { qty: { $gt: 25, $lt:50 } } ) db.bios.find( { contribs: "UNIX" } ) db.bios.find( { awards: { $elemmatch: { award: "Turing Award", year: { $gt: 1980 } } } } ) db.bios.find( { "name.first": "Yukihiro", "name.last": "Matsumoto" } ) bios 컬렉션의모든문서조회 productions 컬렉션에서 qty 필드가 25 보다큰문서를조회 bios 컬렉션에서 _id 필드가 5 인문서조회 Bios 컬렉션에서 _id 가 5 이거나 ObjectId("507c35dd8fada716 c89d0013") 인문서를조회 productions 컬렉션에서 qty 필드가 25 보다크고 50 보다작은문서를조회 bios 컬렉션에서배열필드인 contribs 에 UNIX 를포함하는문서를조회 bios 컬렉션에서배열로중첩 json 문서 (subdocument) 를포함하는 awards 필드에서 award 가 Turing Award 이고 year 가 1980 보다큰중첩 json 문서를포함하는문서조회 bios 컬렉션에서 name 필드가중첩 json 문서를갖는문서중에서, 중첩 json 문서의 first 필드가 Yukihiro 이고 last 필드가 Matsumoto 인문서조회 23

24 3.3 기본 CRUD Document 조회쿼리 Query Selector 연산자설명연산자설명 $lt 미만 $in 배열에있는하나이상의값과 일치 $lte 이하 $nin 배열에있는 0 값과일치 $gt 초과 $or 쿼리중하나와일치 $gte 이상 $or 쿼리중하나와일치 $all 배열에있는모든값과일치 $nor 쿼리중어느것과도일치하지 않음 $exists 필드의존재여부확인 $size 정의된요소수가있는배열과 일치 $mod 모듈 $type 지정된 BSON 데이터유형의값 과일치 $ne 같지않음 $not 같지않음 $where 실행결과를비교 24

25 3.3 기본 CRUD Document 조회결과정렬및 Paging 조회결과에대한정렬및 Paging 관련함수 db.collection.find().sort (<projection>) // sql 문의 order by 역할 db.collection.find().limit(num) // 조회결과문서수를제한 sql문중에 LIMIT 문에해당 db.collection.find().skip(num) // 조회결과문서중에서시작문서의위치를지정 조회쿼리 db.bios.find().sort( { name: 1 } ) db.bios.find().limit( 5 ) db.bios.find().skip( 5 ) db.bios.find().sort( { name: 1 } ).limit( 5 ) db.bios.find().limit( 5 ).sort( { name: 1 } ) 설명 name 필드를기준으로오름차순정렬 bios 컬렉션의조회결과를 5 개문서로제한 bios 컬렉션의조회결과중앞에 5 개문서를제외하고반환 bios 컬렉션의조회결과중앞에 5 개문서를제외하고 name 필드를기준으로오름차순정렬하여반환 bios 컬렉션의조회결과중앞에 5 개문서를제외하고 name 필드를기준으로오름차순정렬하여반환 25

26 3.3 기본 CRUD Document 변경 db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean> } ) 파라미터 Type 설명 <query> document 수정대상이되는문서의조건 Find() 의 Query Selector 를사용할수있음 find() <update> document 적용할변경값 Update Parameter 를사용가능 upsert boolean 선택적파라미터 True 로설정될경우 <query> 의대상문서가없을경우 insert 됨 multi boolean 선택적파라미터 True 로설정될경우 <query> 조건을만족하는복수의문서에 <update> 가적용됨 26

27 3.3 기본 CRUD Document 변경 (Update Operator) 연산자설명연산자설명 $currentdate 현재 Date 를설정한다. $pop 배열의마지막요소를제거한다. $inc $max $min $mul 지정된필드에주어진값을더한다 지정된값이기존필드의값보다크면이값으로수정한다. 지정된값이기존필드의값보다작을경우이값으로수정한다. 지정된값으로기존필드의값을곱하여수정한다. $push 하나의값을배열에추가한다. $pushall 모든값을배열에추가한다. $addtoset $pull Push 와유사하지만중복값을넣지는않는다. 일차하는값하나를배열에서제거한다. $rename 필드명수정 $pullall 모든일치값을배열에서제거한 다. $set 지정된필드에지정된값을설정한다. $unset 지정한필드를문서에서제겅한다. 27

28 3.3 기본 CRUD Document 변경 원본데이터수정함수결과데이터 { } _id: 1, item: "TBD", stock: 0, info: { publisher: "1111", pages: 430 }, tags: [ "technology", "computer" ], ratings: [ { by: "ijk", rating: 4 }, { by: "lmn", rating: 5 } ], reorder: false db.books.update( { _id: 1 }, { $inc: { stock: 5 }, $set: { item: "ABC123", "info.publisher": "2222", tags: [ "software" ], "ratings.1": { by: "xyz", ratin g: 3 } } } ) { } "_id" : 1, "item" : "ABC123", "stock" : 5, "info" : { "publisher" : "2222", "pages" : 430 }, "tags" : [ "software" ], "ratings" : [ { "by" : "ijk", "rating" : 4 }, { "by" : "xyz", "rating" : 3 } ], "reorder" : false 28

29 3.3 기본 CRUD Document 삭제 db.collection.remove( <query>, <justone> ) 파라미터 Type 설명 <query> document 삭제대상이되는문서의조건 find() 의 Query Selector 를사용할수있음 모든문서를삭제할경우빈문서 ( {} ) 를넘김 <justone> boolean 선택적파라미터 true 로설정하면한개의문서만삭제 false 로설정하면복수의문서를삭제 db.bios.remove( { } ) 조회쿼리 db.products.remove( { qty: { $gt: 20 } } ) db.products.remove( { qty: { $gt: 20 } }, true ) 설명 bios 컬렉션의모든문서삭제 Products 컬렉션중 qty 필드가 20 을넘는문서삭제 bios 컬렉션에서 qty 필드가 20 을넘는문서중에 1 개를삭제 29

30 3.3 기본 CRUD Index 조회결과를반환하기위하여 200 번의객체스캔을경유한다. 조회결과 > db.movies.count() 200 > db.movies.find({title:" 이상한나라의앨리스 "}, {sales:tr ue, screen:true}) { "_id" : ObjectId(" b18f59ca55c3"), "sales" : NumberLong(" "), "screen" : 397 } 조회연산처리내역 > db.movies.find({title:" 이상한나라의앨리스 "}, {sales:tr ue, screen:true}).explain() { "cursor" : "BasicCursor", "ismultikey" : false, "n" : 1, "nscannedobjects" : 200, "nscanned" : 200, "nscannedobjectsallplans" : 200, "nscannedallplans" : 200, "scanandorder" : false, "indexonly" : false, "nyields" : 1, "nchunkskips" : 0, "millis" : 0, "server" : "alvin.local:27017", "filterset" : false } > 30

31 3.3 기본 CRUD Index 인덱스생성후객체조회횟수가 1 번으로조정됨 인덱스생성및결과조회 > db.movies.count() // 컬렉션총문서수 > db.movies.ensureindex( {title : 1}) // 인덱스생성 { "createdcollectionautomatically" : false, "numindexesbefore" : 1, "numindexesafter" : 2, "ok" : 1 } > db.movies.find({title:" 이상한나라의앨리스 "}, {sale s:true, screen:true}) // 결과조회 { "_id" : ObjectId(" b18f59ca55c3"), "sales" : NumberLong(" "), "screen" : 397 } 조회연산처리내역 > db.movies.find({title:" 이상한나라의앨리스 "}, {sales:true, screen:true}).explain() { "cursor" : "BtreeCursor title_1", "ismultikey" : false, "n" : 1, "nscannedobjects" : 1, "nscanned" : 1, "nscannedobjectsallplans" : 1, "nscannedallplans" : 1, "scanandorder" : false, "indexonly" : false, "nyields" : 0,"nChunkSkips" : 0, "millis" : 0, "indexbounds" : { "title" : [[ " 이상한나라의앨리스, " 이상한나라의앨리스 ] ] }, "server" : "alvin.local:27017, "filterset" : false } 31

32 3.3 기본 CRUD Index 쿼리에대한실행정보를제공 explain() > db.movies.find({title:" 이상한나라의앨리스 "}, {sales: true, screen:true}).explain() { "cursor" : "BtreeCursor title_1", "ismultikey" : false, "n" : 1, "nscannedobjects" : 1, "nscanned" : 1, "nscannedobjectsallplans" : 1, "nscannedallplans" : 1, "scanandorder" : false, "indexonly" : false, "nyields" : 0,"nChunkSkips" : 0, "millis" : 0, "indexbounds" : { "title" : [[ " 이상한나라의앨리스, " 이상한나라의앨리스 ] ] }, "server" : "alvin.local:27017, "filterset" : false } 필드 cursor nscanned n mills 설명 Title 로색인이되어있을을표시힌다. 인덱스가없을경우 BasicCursor 가출력됨 데이터베이스가훓어본문서의수. 반환하는문서의수와가까운것이좋음 반환하는문서의수 쿼리수행시간, 1/1000 초단위 32

33 3.3 기본 CRUD Index 인덱스생성방법 db.collection.ensureindex( <keys>, <options> ) 파라미터 Type 설명 <keys> document 인덱스를만들필드와정렬방식을 key:value 로하는문서 Value 가 1 일경우오름차순정렬이고 -1 일경우내림차순이다. <options> document 선택적파라미터 인덱스유형을결정하는문서 unique, name, dropdups 조회쿼리 설명 db.collection.ensureindex( { orderdate: 1 } ) orderdate 필드를오름차순으로인덱스생성 db.collection.ensureindex( { orderdate: 1, z ipcode: -1 } ) db.collection.ensureindex( { orderdate: 1, z ipcode: -1 }, {unique: true, dropdups:true} ) 2 개의필드로 Compound 인덱스생성 2 개의필드로 Compound 고유한 (unique) 인덱스생성, 중복된문서는제거 (dropdups) 33

34 3.3 기본 CRUD Index 인덱스삭제방법 db.collection.dropindex(index) // 인덱스삭제 db.collection.dropindexes() // 컬렉션의모든인덱스삭제 > db.movies.find({title:" 이상한나라의앨리스 "}, {sales:true, screen:true}).explain() { "cursor" : "BtreeCursor title_1", "ismultikey" : false, "n" : 1, "nscannedobjects" : 1, "nscanned" : 1, "nscannedobjectsallplans" : 1, "nscannedallplans" : 1, "scanandorder" : false, "indexonly" : false, "nyields" : 0,"nChunkSkips" : 0, "millis" : 0, "indexbounds" : { "title" : [[ " 이상한나라의앨리스, " 이상한나라의앨리스 ] ] }, "server" : "alvin.local:27017, "filterset" : false } 34

35 3.4 Aggregation ( 집계 ) 예제컬렉션으로 movies 를사용한다. movies 의예제 document title: 영화제목 open_date: 개봉일 sales: 총매출액 audience: 관객수 screen: 상영관수 showing: 상영횟수 nationality: 국적 distributor: 배급사 { } "_id" : ObjectId("54582d4d693831f8b1a1ea44"), "title" : " 명량 ", "open_date" : ISODate(" T15:00:00Z"), "sales" : , "audience" : , "screen" : 1586, "showing" : , "nationality" : " 한국 ", "distributor" : " 씨제이이앤엠 ( 주 )" 35

36 3.4 Aggregation ( 집계 ) 문서의갯수 db.collection.count() // 컬렉션의문서의수를반환 db.collection.find().count() // 조회된문서의수를반환 조회쿼리 설명 db.movies.count() db.movies.find({audience: {$gt: }}).count() movies 컬렉션의전체문서수를반환 Movies 컬렉션중에서관객이 10,000,000 명을넘은영화의문서갯수 > db.movies.find().count() 200 > db.movies.find({audience: {$gt: }}).count() 10 36

37 3.4 Aggregation ( 집계 ) 주어진키의고유의값을찾음 db.collection.distinct() // 고유의값을반환 파라미터 Type 설명 field String 고유의값을반환할필드명 query document 대상문서의조건 > db.movies.distinct("distributor", {audience: {$gt: }}) [ " 씨제이이앤엠 ( 주 )", " 이십세기폭스코리아 ( 주 )", " 쇼박스 미디어플렉스 ", "( 주 ) 넥스트엔터테인먼트월드 (NEW)", " 씨제이엔터테인먼트 ( 주 )", "( 주 ) 시네마서비스 ", " 소니픽쳐스릴리징월트디즈니스튜디오스코리아 ( 주 )" ] 37

38 3.4 Aggregation ( 집계 ) group db.collection.group( { key, reduce, initial [, keyf] [, cond] [, finalize] } 파라미터 Type 설명 key document 그룹할대상필드명 reduce function 적용할 reduce 함수, 집계로직을포함 inital document 반환할문서의초기버전 keyf function 선택적파라미터 그룹대상필드를기존필드로사용하지않고새로만들어쓸때사용 cond document 대상문서의선택조건 생략시모든문서를대상으로함 fialize function 결과를반환하기전에결과 json 객체를조작하는용도로사용 38

39 3.4 Aggregation ( 집계 ) group db.collection.group( { key, reduce, initial [, keyf] [, cond] [, finalize] } > db.movies.group( { key:{nationality:1}, reduce:function(curr, result){result.audience += curr.audience;}, initial: {audience:0} } ) [ {"nationality" : " 한국, "audience" : }, { "nationality" : " 미국, "audience" : }, { "nationality" : " 영국, "audience" : }, { "nationality" : " 중국, "audience" : }, { "nationality" : " 일본, "audience" : }, { "nationality" : " 프랑스, "audience" : } ] 39

40 3.5 웹관리콘솔 mongod 프로세스를 --rest 옵션을추가하여실행할경우에웹기반의관리콘솔을사용할수있다. 웹콘솔의포트번호는 번이다. 40

41 3.6 자바드라이버 mongodb는자바플렛폼을위한드라이버를제공한다. mongodb의자바드라이버는중앙메이븐레파지토리 (Central Maven Repository) 에서다운로드받을수있다. 메이븐빌드환경을사용한다면다음 Dependency 설정을사용할있다. <dependency> <groupid>org.mongodb</groupid> <artifactid>mongo-java-driver</artifactid> <version>2.12.4</version> </dependency> 41

42 3.6 자바드라이버 MongoDB 데이터베이스접속및컬렉션레퍼런스획득 import com.mongodb.*; public class JavaClient{ public static void main( String[] args ) throws UnknownHostException { MongoClient mongoclient = new MongoClient("localhost", 27017); DB db = mongoclient.getdb("demo"); DBCollection coll = db.getcollection("movies"); } } // 이하생략 42

43 3.6 자바드라이버 BasicDBObject JSON 을표현하기위해서 Map 을상속하는 BasicDBObject 를사용한다. BasicDBObject 에 key/value 를설정하고저장시키는방식을사용한다. JSON 의중첩구조는 BasicDBObject 가 key 의값으로 BasicDBObject 객체를저장하는방식으로처리된다. MongoClient mongoclient = new MongoClient("localhost", 27017); DB db = mongoclient.getdb("demo"); DBCollection coll = db.getcollection("movies"); BasicDBObject doc = new BasicDBObject(); doc.append("title", 명량 ); doc.append("open_date", new Date(2014, 6, 30)); doc.append("sales, L); doc.append( audience", )); doc.append( screen", 1586)); doc.append("showing", )); doc.append("nationality", 한국 ); doc.append("distributor", " 씨제이이앤엠 ( 주 )"); coll.insert(doc); 43

44 4. MongoDB 구성 세부목차 4.1 예제소개 4.2 마스터-슬레이브복제 4.3 Replica Set 4.4 Sharding 4.5 운영수준 Sharding 구성 44

45 4. MongoDB 구성 4.1 예제소개 데이터베이스가용성을향상시키고장애시원할한복구를위해서는데이터베이스에저장되는데이터를다른서버에복제하는방법을사용한다. 여러대의서버중한대에문제가발생하더라도새로운서버로교체하고기존데이터를동기화하는환경을구성하여시스템가용성을높일수있다. 이러한기술을 MongoDB 에서는 Replica 라고부르며 Replica Sets 을통해서안전한백업을지원한다. MongoDB 는 Sharding 을통한데이터분산저장을지원하며, Sharding 의주요목적은다음과같다. 데이터의분산저장 백업과복구전략 성능향상 Replica Sets 과 Sharding 을통한데이터분산처리를예제를통해알아본다. 45

46 4. MongoDB 구성 4.2 마스터 - 슬레이브복제 마스터 - 슬레이브복제는백업, 장애시요청넘김, 읽기분산에사용된다. 슬레이브는한개이상복수개구성이가능하다. 마스터노드는 mongod 를실행할때 --master 옵션으로시작한다. 슬레이브노드는 mongod 를실행할때 --slave 와 --source 옵션을설정한다. 슬레이브노드의제한은없지만 12 개이하로유지하는것이효과적이다. 아래 ## 는주석이다. > mkdir ~/mongodb/mdata ## master node 의데이터저장디렉터리 > mkdir ~/mongodb/sdata1 ## slave1 node 의데이터저장디렉터리 > mkdir ~/mongodb/sdata2 ## slave2 node 의데이터저장디렉터리 > mkdir ~/mongodb/sdata3 ## slave3 node 의데이터저장디렉터리 >./mongod --dbpath ~/mongodb/mdata --master --fork --port logpath ~/mongodb/mdata/log > ## master node 실행옵션 >./mongod --dbpath ~/mongodb/sdata1 --logpath ~/mongodb/sdata1/log --fork --port slave --sourc e localhost:27017 > ## slave1 node 실행옵션 >./mongod --dbpath ~/mongodb/sdata2 --logpath ~/mongodb/sdata2/log --fork --port slave --sourc e localhost:27017 > ## slave2 node 실행옵션 >./mongod --dbpath ~/mongodb/sdata3 --logpath ~/mongodb/sdata3/log --fork --port slave --sourc e localhost:27017 > ## slave3 node 실행옵션 46

47 4. MongoDB 구성 4.2 마스터 - 슬레이브복제 Slave1 slave dbpath = ~/mongodb/sdata1 port = master dbpath = ~/mongodb/mdata port = Master Slave2 slave dbpath = ~/mongodb/sdata2 port = Slave3 slave dbpath = ~/mongodb/sdata3 port =

48 4. MongoDB 구성 4.2 마스터 - 슬레이브복제 복제설정확인 ( db.sources.find() ) > mongo localhost:37017 MongoDB shell version: Slave1 Node connecting to: localhost:57017/test > use local switched to db local > db.sources.find() { "_id" : ObjectId("545974da f47c9f"), "host" : "localhost:27017", "source" : "main", "syncedto" : Timest amp( , 1) } > mongo localhost:47017 MongoDB shell version: Slave2 Node connecting to: localhost:57017/test > use local switched to db local > db.sources.find() { "_id" : ObjectId("545974da f47c9f"), "host" : "localhost:27017", "source" : "main", "syncedto" : Timest amp( , 1) } > mongo localhost:57017 MongoDB shell version: Slave3 Node connecting to: localhost:57017/test > use local switched to db local > db.sources.find() { "_id" : ObjectId("545974da f47c9f"), "host" : "localhost:27017", "source" : "main", "syncedto" : Timest amp( , 1) } 48

49 4. MongoDB 구성 4.2 마스터 - 슬레이브복제 소스추가및삭제설정 소스설정은 mongod 시작옵션으로지정할수있으며, 추가적으로 mongo shell 에서소스의추가및삭제가가능하다. 소스설정에사용되는 souces 컬렉션은 local 데이터베이스에위치한다. Shell 명령 db.sources.insert ( { host : localhost:27017}) db.sources.remove ( { host : localhost:27017}) 설명 source 설정추가및동기화사작 source 설정삭제및동기화종료 49

50 4. MongoDB 구성 4.3 Replica Set Replica Set 구성 --replset 옵션을설정하고마스터노드에서 config 설정작업을수행한다 rs.initiate() 함수를이용한다. >./mongod --replset demoset -fork --port logpath ~/mongodb/node1/log --dbpath ~/mongodb/node1 >./mongod --replset demoset -fork --port logpath ~/mongodb/node2/log --dbpath ~/mongodb/node2 >./mongod --replset demoset -fork --port logpath ~/mongodb/node3/log --dbpath ~/mongodb/node3 >./mongo localhost:27017/admin MongoDB shell version: connecting to: localhost:27017/admin > var config = { "_id" : "demoset",... "members" : [... { "_id" : 1, "host" : "localhost:37017" },... { "_id" : 2, "host" : "localhost:47017" },... { "_id" : 0, "host":"localhost:27017"}... ]} > rs.initiate(config) { "info" : "Config now saved locally. Should come online in about a minute.", "ok" : 1 } demoset:primary> 50

51 4. MongoDB 구성 4.3 Replica Set ReplicaSet 은장애발생시에자동으로넘김기능이있는마스터 - 슬레이브복제버전이다. 마스터노드에장애가생기면다른노드로마스터를넘긴다. 복수의슬레이브노드가존재할경우마스터노드장애발생시소스변경이자동화되어있다. --replset 옵션을사용하여설정한다. 51

52 4. MongoDB 구성 4.4 Sharding Sharding 은 MongoDB 가분산확장하는방식이다. 애플리케이션에영향을주지않고증가하는부하와데이터를처리하기위해서버를추가할수있다. 클라이언트는 mongos 프로세스와통신하여샤드를추상화한다. 샤딩이필요한시점 현재서버의저장공간이부족할때 처리량을증가시켜야할때 성능향상을위해메모리확장이필요할때 Mongos Mongos Mongos Master Mongos Client Client 52

53 4. MongoDB 구성 4.4 Sharding 샤드구성요소 샤드 * 컬렉션의부분집합을저장하는컨테이너 * 단일 mongod 프로세스이거나 Replica Set * 하나의샤드가여러대의서버로구성될경우에도 master는 1대 Mongos * 모든요청의라우터프로세스 * 실제정보를저장하지않음 설정서버 * 샤드의실제인덱스정보와클러스터설정정보를관리 * mongos는설정서버의데이터를동기화하여사용함 53

54 4. MongoDB 구성 4.4 Sharding 샤드서버구성 설정서버시작 mongos 시작 샤드대상이되는 mongod(shard1) 서버시작 샤드대상이되는 mongod(shard2) 서버시작 mongos 접속하여 shard 추가 데이터샤딩하기 config Mongos Mongos Mongos 서버구분 dbpath port 설정서버 ~/mongodb/config mongos shard ~/mongodb/shard shard ~/mongodb/shard

55 4. MongoDB 구성 4.4 Sharding 샤드서버시작 설정서버시작 > mkdir ~/mongodb/config >./mongod --dbpath ~/mongodb/config --port fork --logpath ~/mongodb/config/log mongos 서비시작 > mkdir ~/mongodb/mongos >./mongos --port configdb localhost: fork --logpath ~/mongodb/mongos/log Shard1 서버시작 > mkdir ~/mongodb/shard1 >./mongod --dbpath ~/mongodb/shard --port fork --logpath ~/mongodb/shard1/log Shard2 서버시작 > mkdir ~/mongodb/shard2 >./mongod --dbpath ~/mongodb/shard --port fork --logpath ~/mongodb/shard2/log 55

56 4. MongoDB 구성 4.4 Sharding 샤드설정 Shard1 과 Shard2 서버등록 (mongos 에서수행해야함 ) > mongo localhost:20000/admin MongoDB shell version: connecting to: localhost:20000/admin mongos> db.runcommand({addshard:"localhost:30000"}) { "shardadded" : "shard0000", "ok" : 1 } mongos> db.runcommand({addshard:"localhost:40000"}) { "shardadded" : "shard0001", "ok" : 1 } 데이터베이스와컬렉션생성 mongos> use demo switched to db demo mongos> db.shardtest.insert({}) WriteResult({ "ninserted" : 1 }) mongos> db.shardtest.insert({}) WriteResult({ "ninserted" : 1 }) 데이터베이스와컬렉션샤딩설정 mongos> use admin switched to db admin mongos> db.runcommand({enablesharding:"demo"}) { "ok" : 1 } mongos> db.runcommand({"shardcollection":"demo.shardtest", "key":{_id:1}}) { "collectionsharded" : "demo.shardtest", "ok" : 1 } 56

57 4. MongoDB 구성 4.5 운영수준 Sharding 구성 운영환경에서의 Sharding 구성 가용성과안정성을높이기위해서추가적인고려사항이필요 설정서버를 3개이상으로구성 mongos 서버를복수로구성 샤드별 replica set 구성 57

58 4. MongoDB 구성 4.5 운영수준 Sharding 구성 다중설정서버구성 설정서버를 3 개로확장하고 mongos 실행옵션수정 다중설정서버구성 mkdir p ~/mongodb/config1 ~/mongodb/config2, ~/mongodb/config3./mongod dbpath ~/mongodb/config1 --port /mongod dbpath ~/mongodb/config2 --port /mongod dbpath ~/mongodb/config3 --port mongos 시작옵션 ( 다중설정서버설정 )./mongos configdb localhost:10001, localhost:10002, localhost:

59 4. MongoDB 구성 4.5 운영레벨 Sharding 구성 샤딩의한계 하나의청크에저장될수있는 BSON 의개수는 250,000 개이다. 하나의청크에설정할수있는불할지점의최대개수는 8,192 개이다. MongoDB 에설정할수있는샤드노드의개수는 1,000 개를목표로하고있으며현재테스트된샤드노드는 100 개이다. 59

NoSQL

NoSQL MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

슬라이드 1

슬라이드 1 Gradle 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 특징 Gradle (http://www.gradle.org) 소프트웨어빌드자동화도구 라이선스 Apache License v2.0 Gradle 을통해소프트웨어패키지나프로젝트의빌드, 테스팅, 퍼블리슁, 배포등을자동화할수있다. Ant 의유연성과기능을

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 공개 SW 솔루션설치 & 활용가이드 시스템 SW > 데이터관리 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리 -

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

5 주차 -mongodb 설치잠깐! CAP 이론 NoSQL이나온이유와 MongoDB NoSQL의데이터저장구조에따른세가지분류 RDBMS와 NoSQL특성비교 RDBMS와 NoSQL의사용시기 MongoDB 소개및특징 MongoDB와 RDBMS와의공통 MongoDB CRUD

5 주차 -mongodb 설치잠깐! CAP 이론 NoSQL이나온이유와 MongoDB NoSQL의데이터저장구조에따른세가지분류 RDBMS와 NoSQL특성비교 RDBMS와 NoSQL의사용시기 MongoDB 소개및특징 MongoDB와 RDBMS와의공통 MongoDB CRUD 5 주차 -mongodb 설치잠깐! CAP 이론 NoSQL이나온이유와 MongoDB NoSQL의데이터저장구조에따른세가지분류 RDBMS와 NoSQL특성비교 RDBMS와 NoSQL의사용시기 MongoDB 소개및특징 MongoDB와 RDBMS와의공통 MongoDB CRUD Data Modeling 참고 MongoDB CRUD Operations MongoDB 실습설치환경구동확인

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

초보자를 위한 분산 캐시 활용 전략

초보자를 위한 분산 캐시 활용 전략 초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?

More information

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3Rabbitz Book 애플리케이션파일다운로드하여압축파일을풀고복사합니다. 3. 3Rabbitz Book 실행합니다.

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

단계

단계 본문서에서는 Tibero RDBMS 에서제공하는 Oracle DB Link 를위한 gateway 설치및설정방법과 Oracle DB Link 사용법을소개한다. Contents 1. TIBERO TO ORACLE DB LINK 개요... 3 1.1. GATEWAY 란... 3 1.2. ORACLE GATEWAY... 3 1.3. GATEWAY 디렉터리구조...

More information

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

MongoDB Trends and Introduction 우정웅연구원 Dec. 02, 2014

MongoDB Trends and Introduction 우정웅연구원 Dec. 02, 2014 MongoDB Trends and Introduction 우정웅연구원 Dec. 02, 2014 Contents 1. MongoDB? 2. MongoDB 주요특징 3. MongoDB 구조 4. Performance c2014 rockplace 2 rockplace MongoDB? c2014 rockplace 3 MongoDB? NoSQL(Not Only SQL)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

슬라이드 1

슬라이드 1 Git 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 Git (http://git-scm.com/) 라이선스 리누스토발즈가만든분산형버전관리시스템 대부분의공개 SW 가 Git 을이용해서관리되고있음 General Public License v2 GitHub, BitBucket, GitLab 등웹기반의다양한소스저장소서비스의기반

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

슬라이드 1

슬라이드 1 TortoiseSVN 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 Tortoise SVN (http://tortoisesvn.net) 라이선스 GNU GPL v2.0 소개 Subversion 를통해서소스버전관리를할수있게하는클라이언트도구 특징 Windows Explorer 에서곧바로 Subversion 를사용하여버전컨트롤가능

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

슬라이드 1

슬라이드 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 Software Verification Team 4 강 정 모 송 상 연 신 승 화 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 CONTENTS 01 Overall Structure 02 Static analyzer SonarQube

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5] The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java(  혹은   에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을 안드로이드설치및첫번째예제 안드로이드설치 안드로이드개발킷은안드로이드개발자사이트 (http://developer.android.com/) 에서다운로드받을수있으며현재 1.5 버전으로윈도우즈, 맥 OS X( 인텔 ), 리눅스플랫폼패키지가링크되어져있다. 안드로이드개발킷을설치하기위해서는다음과같은시스템환경이갖추어져있어야한다. 플랫폼 Windows Mac Linux 지원환경

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리 ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows

More information

vRealize Automation용 VMware Remote Console - VMware

vRealize Automation용 VMware Remote Console - VMware vrealize Automation 용 VMware Remote Console VMware Remote Console 9.0 이문서는새버전으로교체되기전까지나열된각제품버전및모든이후버전을지원합니다. 이문서에대한최신버전을확인하려면 http://www.vmware.com/kr/support/pubs 를참조하십시오. KO-002230-00 vrealize Automation

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

PowerPoint Template

PowerPoint Template 설치및실행방법 Jaewoo Shim Jun. 4. 2018 Contents SQL 인젝션이란 WebGoat 설치방법 실습 과제 2 SQL 인젝션이란 데이터베이스와연동된웹서버에입력값을전달시악의적동작을수행하는쿼리문을삽입하여공격을수행 SELECT * FROM users WHERE id= $_POST[ id ] AND pw= $_POST[ pw ] Internet

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

초보자를 위한 ADO 21일 완성

초보자를 위한 ADO 21일 완성 ADO 21, 21 Sams Teach Yourself ADO 2.5 in 21 Days., 21., 2 1 ADO., ADO.? ADO 21 (VB, VBA, VB ), ADO. 3 (Week). 1, 2, COM+ 3.. HTML,. 3 (week), ADO. 24 1 - ADO OLE DB SQL, UDA(Universal Data Access) ADO.,,

More information

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 (https://www.kisarbl.or.kr) < 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 Ⅰ. 개요 실시간스팸차단리스트 (RBL) 는메일서버를운영하는누구나손쉽게효과적으로스팸수신을차단하는데이용할수있도록한국인터넷진흥원 (KISA)

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

작성자 : 기술지원부 김 삼 수

작성자 : 기술지원부 김 삼 수 작성자 : 기술지원부김삼수 qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. (

More information

슬라이드 1

슬라이드 1 OSCON 2015 MongoDB in use 김인범 SK C&C Tables 1. MongoDB? 2. MongoDB 3.x features 3. Tips for MongoDB 4.MongoDB Korea I am... 김인범 (SK C&C) Cloud Computing Infra Service Team 1 MongoDB Korea R Korea With

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인 스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서 커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

Unit Four

Unit Four MongoDB DB 설계패턴및성능튜닝솔루션 주종면 www.pitmongo.co.kr 010-3864-1858 발표자 : 주종면. PLAN 정보기술 / 대표컨설턴트 - 한국데이터베이스진흥원기술위원및겸임교수 - 한국 SW 기술협회겸임강사 - MongoDB Master 공인전문가 - Oracle ACE 공인전문가 - DB 설계 / 튜닝 / 컨설팅. MongoDB

More information

FileMaker ODBC 및 JDBC 가이드

FileMaker ODBC 및 JDBC 가이드 FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,

More information

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO Windows 7 설치및 PCIE RAID 설정정보 DK173 초판 11월 2016 A. Windows 7 및 USB 드라이버설치 칩셋사양에따라 Windows 7 설치중에 USB 키보드 / 마우스를사용하려면시스템에서 USB 드라이버를사전로드해야합니다. 이절에서는 USB 드라이버사전로드방법과 Windows 7 설치방법에대해서설명합니다. 방법 1: SATA ODD

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

슬라이드 1

슬라이드 1 SW 개발도구연계 Jenkins - Redmine - Mylyn 목차 Intro Mylyn - Redmine 연계 Mylyn - Jenkins 연계및빌드실행 Mylyn에서 Redmine 일감처리 Intro 연계도구 웹기반의프로젝트관리도구 한글화가잘되어있어사용저변이넓음 플러그인을통해다양한도구와연계가능 Eclipse 용 ALM(Application Lifecycle

More information

3. MOBIUS 서버플랫폼의 SOURCE 구조몇구성 MOBIUS 서버플랫폼 SOURCE 구조 MOBIUS 서버플랫폼의구성 MOBIUS 서버설치 (WINDOWS) REDIS DB 설치

3. MOBIUS 서버플랫폼의 SOURCE 구조몇구성 MOBIUS 서버플랫폼 SOURCE 구조 MOBIUS 서버플랫폼의구성 MOBIUS 서버설치 (WINDOWS) REDIS DB 설치 onem2m 기반의서버플랫폼 OpenMobius 설치및실행가이드 2015 8 월 경북대학교통신프로토콜연구실 정중화, 강형우 godopu16@gmail.com, hwkang0621@gmail.com 요약 사물인터넷 (Internet of Things: IoT) 의시대가도래하고있다. 다양한분야에서사물인터넷을활용한서비스가개발되고있다. 본문서에서는사물인터넷국제표준인

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx DMSLAB 자동설치시스템의 HW 정보 및사용자설정기반설치 신뢰성에대한정형검증 건국대학교컴퓨터 정보통신공학과 김바울 1 Motivation Problem: 대규모서버시스템구축 Installation ti Server 2 Introduction 1) 사용자가원하는 이종분산플랫폼구성 대로 2) 전체시스템 들의성능을반영 3) 이종분산플랫폼을지능적으로자동구축 24

More information

항목

항목 Cloud 컴퓨팅기반분산파일시스템개요 개발실 UPDATE : 2012. 11 18 INDEX 1. 가용성 2. 확장성 3. PrismFS 4. Q&A 2 가용성 3 Gmail 장애 2011년 2월 27일 34000명의 Gmail 사용자들이일어나보니메일, 주소록, 채팅기록등이사라진것을발견 2011년 2월 28일 스토리지소프트웨어업데이트를진행하는중 Bug로인해발생했다고공지

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder Embian efolder 설치가이드 efolder 시스템구성 efolder 설치순서 Installation commands 1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

슬라이드 1

슬라이드 1 R User Conference Korea 2015 Using R with MongoDB 김인범 SK C&C Tables 1. MongoDB? 2. Rmong & RMOngodb 3. Why R + MongoDB 4.Tips for R + MongoDB I am... 김인범 (SK C&C) Cloud Computing Infra Service Team 1 MongoDB

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/2015 1. Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. 2. Installation 2.1. For Debian GNU/Linux 국내에서사용되는컴퓨터들의

More information