MySQL, MariaDB AES 암복호화 함수 호출

오랜만에 작성하는 SQL 관련 포스트

 

"INPUT_DATA"는 입력 데이터

"ENCRYPT_KEY", "DECRYPT_KEY"는 AES 암복호화할때 사용하는 암호키(SECRYPT_KEY)

암호화 함수 호출

HEX(AES_ENCRYPT("INPUT_DATA", "ENCRYPT_KEY");

 

복호화 함수 호출

AES_DECRYPT(UNHEX("TABLE's COLUMN name"), "DECRYPT_KEY")

 

 

Buy me a coffeeBuy me a coffee

DBeaver - 개발자와 DBA를 위한 무료 오픈소스(GPL) 데이터베이스 툴


저는 Eclipse 플러그인으로 된 DBeaver를 사용하고 있음. Oracle, Mysql, PostgreSQL, SQLite, H2, Java DB등 여러종류의 DBMS를 지원하고 OS도 Windows, Linux, Mac OS 모두 지원합니다.



무료 GUI DB툴 치고는 ERD 보여주는 기능 및 BLOB 보여주는 기능등등 여러가지 기능이 좋아서 소개합니다.


아래는 DBeaver 홈페이지에 있는 소개

Overview

DBeaver is free and open source (GPL) universal database tool for developers and database administrators.

  • Usability is the main goal of this project, program UI is carefully designed and implemented.
  • It is freeware.
  • It is multiplatform.
  • It is based on opensource framework and allows writing of various extensions (plugins).
  • It supports any database having a JDBC driver.
  • It may handle any external datasource which may or may not have a JDBC driver.
  • There is a set of plugins for certain databases (MySQL and Oracle in version 1.x) and different database management utilities (e.g. ERD).

Supported (tested) databases:

  • MySQL
  • Oracle
  • PostgreSQL
  • IBM DB2
  • Microsoft SQL Server
  • Sybase
  • ODBC
  • Java DB (Derby)
  • Firebird (Interbase)
  • HSQLDB
  • SQLite
  • Mimer
  • H2
  • IBM Informix
  • SAP MAX DB
  • Cache
  • Ingres
  • Linter
  • Teradata
  • Vertica
  • Any JDBC compliant data source

Supported OSes:

  • Windows (2000/XP/2003/Vista/7)
  • Linux
  • Mac OS
  • Solaris
  • AIX
  • HPUX

General features:

  • Database metadata browse
  • Metadata editor (tables, columns, keys, indexes)
  • SQL statements/scripts execution
  • SQL highlighting (specific for each database engine)
  • Autocompletion and metadata hyperlinks in SQL editor
  • Result set/table edit
  • BLOB/CLOB support (view and edit modes)
  • Scrollable resultsets
  • Data (tables, query results) export
  • Transactions management
  • Database objects (tables, columns, constraints, procedures) search
  • ER diagrams
  • Database object bookmarks
  • SQL scripts management
  • Projects (connections, SQL scripts and bookmarks)

MySQL plugin features:

  • Enum/Set datatypes
  • Procedures/triggers view
  • Metadata DDL view
  • Session management
  • Users management
  • Catalogs management
  • Advanced metadata editor

Oracle plugin features:

  • XML, Cursor datatypes support
  • Packages, procedures, triggers, indexes, tablespaces and other metadata objects browse/edit
  • Metadata DDL view
  • Session management
  • Users management
  • Advanced metadata editor

Other Benefits:

  • DBeaver consumes much less memory than other popular similar software (SQuirreL, DBVisualizer)
  • Database metadata is loaded on demand and there is no long-running “metadata caching” procedure at connect time
  • ResultSet viewer (grid) is very fast and consumes very little ammount of memory
  • All remote database operations work in non-blocking mode so DBeaver does not hang if the database server does not respond or if there is a related network issue

License

DBeaver is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

DBeaver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

License full version

Buy me a coffeeBuy me a coffee

이 글은 제 9회 삼성 소프트웨어 멤버십 공개 세미나에서 보았던 것에서 떠올린 생각들을 끄적 거렸습니다.

홍익대학교에서 설명회를 하였던 11월 25일 화요일 제 9회 삼성 소프트웨어 멤버십 공개 세미나


여기서 멀티미디어 정보검색기술에 대한 세미나를 듣게 되었습니다. 도대체 어떤 내용인지를 알고 싶어서 들어보았는데, 저에게 충격을 준 동영상을 틀어주더군요.

위의 동영상은 midomi에서 아이폰에서 음악 검색을 정확하게 해주는 것을 홍보하는 동영상인데 멀티미디어 정보검색기술을 설명하기 위해서 이 동영상을 세미나 도중에 틀어주게 되었습니다.

음성인식기술이 이렇게 발전했다는 것이 대단하게 느껴졌습니다. 흥얼흥얼 거리는 노래가 내가 모른다면 아이폰으로 검색하면 다 나오는 시대가 되었다는 것입니다.

Midomi.com 에 보시면 자세한 내용을 보실 수 있답니다.

Midomi mobile : the ultimate music search and discovery 

With midomi, you can search for music in FOUR different ways. 

- SING: just sing or hum a few seconds of a song, and midomi will find it!

- GRAB: hold your phone to a speaker playing original music for a few seconds, and midomi will identify what's playing!

- SAY: it's easier than typing. Just say the song or artist name you're looking for, and midomi will find it!

- TYPE: The old fashioned way to search, but no need to spell it right. Just type a song or artist name the way it sounds, and midomi will find it! 

Once you find a song, see the YouTube video, or buy it from iTunes. You can also see artist photos, albums, and biographies, even browse midomi.com user profiles, see their pictures, listen to their recordings, and lots of other cool things.

인터넷의 발전으로 누가(Who), 언제(When), 어디서(Where), 무엇을(What), 어떻게(How), 왜(Why) 정보를 만들었는지 알기 위해서 검색이 필요하게 되었습니다.
인터넷에서 폭발적으로 늘어나는 정보들을 찾기위하여 정보를 검색하기에 이릅니다.
이를 테면 Yahoo!Google과 같은 정보검색엔진들이 나타났다는 것이죠.

이런 인터넷에 있는 정보들을 찾으려면 정보검색(Information Retrieval)을 해야 하지요.
정보검색에 대해서는 아래의 Database Management System 3rd Edition Chapter 27: Information Retrieval and XML Data Management 를 참고해보시기 바랍니다.
책을 보기 힘드신 분께서는 아래의 Slide를 참고해보시기 바랍니다.

위의 Slide나 책을 보면 DBMS와 Information Retrieval의 비교가 나온다. 

 IR(Information Retrieval)

DBMS 

 주관적인 의미검색 (Imprecise Semantics)  정확한 의미검색 (Precise Semantics)
 단어 검색 (Keyword Search) SQL Query문에 의한 검색 
 비구조화 데이터 포맷으로 구성됨 (Unstructured Data Format) 구조화된 데이터 (Structured Data)
 대개 읽기를 함. 때때로 문서들을 추가함.(Read-Mostly. Add docs occasionally) 많은 수의 문서들이 수정,삭제, 추가등의 작업을 함. (Expect reasonable number of updates)
 결과중 최고 몇개만을 보여줌. (Page through top k results)  SQL Query문의 결과를 모두 보여줌 (Generate full answer)


DBMS가 단순히 정보를 저장하고 쿼리(Query)문을 주면 쿼리문에 만족하는 정보를 모두 알려주지만, IR은 keyword를 주면 그 keyword들이 어디있는지를 저장한 Inverted File(역파일)에 있는 내용을 찾아내어 어디 있는지를 저장한 곳을 알려주는 차이점이 있습니다. IR는 참고로 정보를 추출하는데에 주관적으로 검색하기 때문에 정확한 검색이라는 것을 하긴 어렵습니다.

문서를 검색하는데에 Inverted File을 만들어서 관리하는 IR의 개념만 알고 있던 저에게 삼성소프트웨어멤버십 공개세미나에서 보여준 멀티미디어 정보검색은 저에게 충격자체였습니다.

멀티미디어인 소리, 사진을 검색하는 것을 웹문서에 그림과 같이 붙어있는 글자로 검색하여 찾는 것만 아니라 실제로 소리, 사진을 비교하여 검색 결과를 보여주는 것을 눈으로 보여줬기 때문입니다.

소리를 들려주고 검색하여 음악의 정보를 알려주는 midomi의 검색이나 삼성소프트웨어멤버십분이 보여준 음악검색을 보니 정말 신기하기 그지 없습니다.

멀티미디어 정보를 검색하려면 그 멀티미디어 파일을 알고 파일 접근하여 파일안의 내용을 인식하는 기술이 필요하지요. 그런데 멀티미디어 정보를 검색하는 것은 단순히 문자를 검색하는 것과 달라서 이런 위의 컴퓨터공학에서 처리하는 단어처리, 문서처리, DBMS, IR(Information Retrieval)내용뿐만 아니라 전자공학에서 배우는 신호처리, 이미지처리등을 알아야 검색을 할수 있더군요.

현재에도 웹의 발전으로 인하여 멀티미디어 정보들이 쏟아지는데, 미래에는 멀티미디어 정보검색이 필요할 것으로 예상됩니다. 현재의 정보검색이 Text기반으로 하여 이미지, 음악, 동영상 검색도 Text기반이라 Text에 달려 있는 것만 검색되어 검색 품질이 생각보다 낮습니다. 이런 Text기반의 검색은 원하는 결과를 찾기는 힘들 수 있습니다. 미래에는 멀티미디어파일을 직접 찾아서 검색하여 원하는 결과를 보여주는 검색엔진이 나올까 이런 생각도 해봅니다.

Text 문서를 찾는 정보검색은 이미 Google의 Page Rank 알고리즘으로 대개 원하는 검색 품질을 얻게 되었지만, 지금까지는 멀티미디어 정보검색은 완성단계에 오진 않았습니다. 그렇다만 미래에는 멀티미디어 정보검색을 하면 어떤 알고리즘, 어떤 신호처리, 이미지처리프로세스를 거쳐서 원하는 검색품질이 나오게 될 것 같은 생각을 해봅니다.

현재, Google의 Google Audio Indexing (GAudi)에서는 동영상에서 말하는 단어를 찾는 검색을 보여주고, 네이버얼굴사진검색, Midomi에서 보여주는 흥얼거리면 음악검색을 해주는 것에서 멀티미디어 정보검색을 시도하려는 노력을 하고 있습니다. 미래에는 나열한 것보다 훨씬 진일보적인 멀티미디어검색들이 많이 나오겠죠?

멀티미디어 정보검색에 대해 많은 생각을 해보게 되었습니다. 단순히 컴퓨터공학만 아니라 전자공학의 내용도 알아야 접근할 수 있는 내용들이 너무너무나 많더군요. 

임베디드, 모바일쪽만 아니라 인터넷에서 컴퓨터공학과 전자공학이 이렇게 만날수 있다는 것을 알게 되었습니다.

대학 4년동안 컴퓨터공학을 전공하였어도 컴퓨터공학 내용을 전부 이해하지도 못하고 졸업하는 사람에게 전자공학적인 내용까지 알려준 멀티미디어 정보검색 세미나를 들으면서 아직도 공부할 것이 많다는 것을 느끼게 하였습니다.

Buy me a coffeeBuy me a coffee
관련 포스트와 기사입니다.
KLDP - Sun이 MySQL을 합병했군요
랜덤여신님 - Sun, MySQL 인수 합병
美썬, 'MySQL' 10억달러에 전격 인수
오라클, BEA시스템 인수
ZDNET - 썬, 10억달러에 MySQL 인수「오픈소스 최강 넘봐」
ZDNET - 오라클「BEA 인수 확정」

이번에 SUN사가 MySQL을 인수하게 되었다고 하네요.
MySQL의 블로그에 공지문에 나와 있네요. http://blogs.mysql.com/kaj/sun-acquires-mysql.html/
SUN사 홈페이지에서도 이런 글이 올라왔군요. http://www.sun.com/aboutsun/media/presskits/2008-0116/index.jsp?intcmp=hp2008jan16_mysql_learn 
SUN TO ACQUIRE MYSQL

SUN Microsystems 홈페이지에 올려진 SUN Microsystems사와 MySQL합병소식


Sun Microsystems에서 MySQL을 인수할 때, 인수 금액은 10억 달러라고 하군요.
사용자 삽입 이미지

Sun Microsystems와 MySQL이 합쳐졌습니다. 이제 DBMS시장과 웹쪽에서는 어떤 일이 벌어질지가 궁금하네요.


.
최근 SUN Microsystems사가 오픈소스에 진출하려고 노력하는 가운데, 오픈소스의 대표적인 킬러 소프트웨어인 MySQL이 SUN사와 합치게 되면 그 시너지 효과는 어마어마해질거라 생각됩니다.

SUN Microsystems에서 개발한 JAVA와 MySQL의 결합이 아주 자연스럽게 일어나겠군요. 아니 SUN사에서 나온 OS인 Solaris와 DBMS인 MySQL의 결합도 있을수있군요.
이제 LAMP(Linux+Apache+MySQL+PHP)의 결합만 있는 것이 아니라 JSP와 Solaris등의 결합도 있을수가 있겠군요.
세계 최고의 DBMS점유율을 가진 Oracle이 MySQL을 합병시킬려고 하다가 SUN사와 합병이 되었으니 DBMS시장도 어떻게 될련지 궁금합니다.
Oracle의 점유율을 야금야금 먹고 있는 MySQL이 SUN사와 합병으로 인해 어떤 전략으로 기업을 운용할지가 궁금하네요. DBMS시장에서 Oracle이 대부분 차지한 것이 어떻게 될까 상상만 해도 재미있겠군요.

이런 SUN사의 행보에 따라 Oracle도 BEA system을 인수했다고 하네요. SUN사가 MySQL사를 인수했던 비용에는 조금 미치지는 못하지만 웹로직 자바서버의 대표적인 BEA사와 Oracle의 합병으로도 IT업계는 예측불허의 상황이 되었습니다.
2008년 IT 최고의 뉴스라고 칭할 정도로 Sun Microsystems사와 MySQL의 합병과 BEA system과 Oracle사의 합병으로 IT업계의 판도는 어떻게 될련지가 예측불허의 상황이 되었습니다.

ps. 이제 JAVA와 MySQL의 결합아 자연스럽게 되었군요. JAVA하면 Oracle이였던 기억이 나긴해도 ㅎ 
Buy me a coffeeBuy me a coffee

+ Recent posts