DB (21) 썸네일형 리스트형 [ InfluxDB ] - Grafana Influx DB란 많은 쓰기 작업과 쿼리 부하를 처리하기 위해 2013년에 Go언어로 개발된 오픈소스Time Series Database(시계열 데이터베이스)로써 Tick Stack(Telegraf + InfluxDB + Chronograf+ Kapacitor)의 필수 컴포넌트 중 하나이다. Influx DB는 많은 TSDB들 중에서 가장 유명하고, 많이 사용되는 데이터베이스이다. Influx DB는 Distributed, Scale horizontally하게 설계되어 새로운노드만 추가하면 손쉽게 scale-out할 수 있으며, RestFul API를 제공할 수 있어 API통신이 가능하다. ● 많은 쓰기 작업과 쿼리 부하를 처리하기 위해 2013년에 Go언어로 개발된 오픈소스 TSDB● Tick Sta.. [ TSDB ] Time-stamped Data라고도 불리는 Time Series Data(시계열 데이터)시간에 따라 저장된 데이터를 의미한다.시계열 데이터들은 동일한 소스로부터 시간이 지남에 따라 만들어진 데이터들로 구성되므로 시간 경과에따른 변화를 추적하는데 용이 특징1) 시간을 기반으로 하는 저장 공간기존 RDBMS 아키텍쳐와 다른 부분이 time-stamp를 기반으로 하는 저장소를 가지고 있다는 것이다.예시는 다음과 같다. 2) 빠른 처리 속도(INSERT, SELECT 한정)TSDB에서의 인덱스는 시간에 따라 축적된 데이터들에 최적화되었기 때문에, 시간이 지나도 데이터를수집하는 속도가 느려지지 않고 빠른 처리 속도를 보여준다. 예시의 그림은 다음과 같다. 3) 다양하게 자동화된 기능 제공TSDB에는 시간에 .. SQL문 - Console출력 매번 SQL문을 DB에서 실행하는 게 귀찮다.아래와 같이 파라미터만 출력하고 싶었다. 나중에 참고하자. [ ACID ] 트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 논리적 단위 ※ 어떤 블로그에서는 DML문 자체를 트랜잭션으로 보고 있는데 맞는건가?→ DML문은 데이터베이스 자체에서 COMMIT을 하기 전에는 데이터 베이스에 반영된 게 아니지 않나... DCL아닌가? 우선 패쓰.. 1. 원자성(Atomicity)완전한 상태를 의미한다. 삭제되거나 수행되거나 둘 중에 하나로 데이터를 보호한다. 2. 일관성(Consistency)특정 제약 조건을 만족하는 데이터가 트랜잭션 후에도 여전히 그 조건을 만족해야 한다. 3. 격리(Isolation)여러 사용자가 같은 테이블에서 모두 동시에 읽고 쓰기 작업을 할 때, 각각의 트랜잭션을 격리하면 동시트랜잭션이 서로 방해하거나 영향을 미치지 않는다. ※ .. PL/SQL 코드(프로시저와 함수, 패키지, 트리거) PL/SQL 프로그램은 기본적으로 세 가지 부분으로 나뉘어진 블록 구조를 가진다.● 선언부 : 변수, 상수, 커서 등을 선언한다.● 실행부 : 주 프로그램 로직이 포함된다.● 예외 처리부 : 오류가 발생할 경우 처리할 코드가 포함된다. 1. 프로시저와 함수(Procedure, Function)재사용 가능한 코드를 프로시저(procedures)와 함수(functions)로 작성할 수 있다.● 프로시저는 값을 반환하지 않고 작업을 수행한다. → 실행 : 'EXECUTE 프로시저명;' ex) EXECUTE say_hello('John');● 함수는 값을 반환한다. → 'SELECT 함수명 FROM DUAL' ex) SELECT get_greeting('John') FROM d.. PL/SQL 런타임 작동 방식 1. 컴파일 단계● 파싱(Parsing) : PL/SQL코드가 구문 분석되고, 문법 오류를 체크● 바인딩(Binding) : 참조되는 테이블, 뷰, 패키지, 프로시저 등의 객체를 확인하고 연결● 코드 생성(Code Generation) : 코드가 실행 계획으로 변경된다.● 컴파일(Compile) : PL/SQL 블록, 프로시저, 함수 등이 컴파일되어 데이터베이스에 저장된다. 2. 실행 단계● 실행 요청 : 클라이언트가 서버에 PL/SQL 코드 실행을 요청한다.● 코드 로드 : 데이터베이스 서버는 저장된 PL/SQL 코드를 메모리에 로드합니다.● 실행(Execution) : PL/SQL 엔진이 코드를 실행한다. 이 단계에서는 SQL문이 실행되고, 변수들이 .. Oracle - [ Date ] vs [ TIMESTAMP ] 오라클에서 초단위 이하의 밀리세컨드 처리를 위해선 TIMESTAMP형을 사용해야 한다.DATE형은 초까지의 정보만 입력된다. 문자열의 날짜입력시DATE형은insert into TABLE_NAME (COL_NAME) values (to_date('20100723152301', 'YYYYMMDDHH24MISS'));TIMESTAMP형은insert into TABLE_NAME (COL_NAME) values (to_timestamp('20100723152301123', 'YYYYMMDDHH24MISSFF'));-> 밀리세컨드를 3자리로 지정하여 표현하고 싶다면 FF3와 같은 형식으로 바꾸어주면 된다.포맷팅 해서 소숫점단위의 초를 보려면 FF 엘리먼트를 사용한다. TO_CHAR(SYSTIMESTAMP, 'YY.. SQL Injection - MyBatis XSS CSRF을 알아보다가 SQL injection에 관해서도 알아봐야겠다. SQL Injection은 말 그대로 웹 사이트의 보안상 허점을 이용해 특정 SQL 쿼리문을 전송하여공격자가 원하는 데이터 베이스의 중요한 정보를 가져오는 해킹 기법을 말한다. SQL InjectionSQL Injection은 말 그대로 웹 사이트의 보안상 허점을 이용해 특정 SQL 쿼리문을 전송하여공격자가 원하는 데이터 베이스의 중요한 정보를 가져오는 해킹 기법을 말한다. 1) Error based SQL injectionSQL문을 제대로 입력하지 못했을 경우에 Error메세지가 뜨는데 그 정보를 공격자가 파악하는 것이다.예시는 다음과 같다. 2) Union based SQL injectionUnion은 테이블을 A와 B의 .. 이전 1 2 3 다음 목록 더보기