비개발자를 위한 SQL 통계 8편 - 무료 서비스 SteemData를 이용해봅시다.

in #kr-dev7 years ago



<p dir="auto">얼마 전 steemsql이 유료로 전환된 후 steemsql 시리즈를 올렸던 제게 다시 할일이 생긴 것 같습니다. 월 이용료 10 SBD는 가끔 데이터를 보고자하는 이용자에겐 꽤나 부담되는 가격일 수 있습니다. 그래서 steemdata 서비스를 좀 살펴보았는데 ( <a href="https://steemdata.com" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">steemdata.com ) 현재 Mysql을 이용한 서비스는 닫혀있었고 몽고DB 서비스만을 오픈해두었습니다. MySql 서비스가 오픈되면 그에 대한 사용법도 올려보겠습니다. <p dir="auto">그래서 당연히 몽고DB를 이용해 통계를 뽑아보는 간단한 연재로 다시 마무리 지어볼까 합니다. steemsql의 유료화 덕분에 비개발자 SQL 통계 시리즈의 SteemData 버전이 필요한 듯 싶으니까요. 그럼 간단하게 시작해봅시다~ <hr /> <p dir="auto"><h4> 1. steemdata 사이트에 접속해봅시다. <p> <p dir="auto">이런식으로 첫 페이지에 떡하니 MongoDB에 대한 접속 정보가 있습니다. 바로 옆에 MySQL이 있군요. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmYTR6YBFDZwdyWJCPk8mCtzpXihX1b2rMJxZaujzzRvkh/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmYTR6YBFDZwdyWJCPk8mCtzpXihX1b2rMJxZaujzzRvkh/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmYTR6YBFDZwdyWJCPk8mCtzpXihX1b2rMJxZaujzzRvkh/image.png 2x" /> <p dir="auto">안타깝게도 제가 조금 다룰줄 아는 mysql은 현재 서비스중이지 않은 것 같습니다. 몽고디비는 한번도 다뤄본적이 없어 재밌게 다뤄보겠습니다. 언제나 첫 경험은 새로운 느낌을 줍니다. (<em>^^) <hr /> <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmPgsYcTnvfgAqiwuyk3WEqcwtXassxZyn9ygYScoHkjvD/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmPgsYcTnvfgAqiwuyk3WEqcwtXassxZyn9ygYScoHkjvD/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmPgsYcTnvfgAqiwuyk3WEqcwtXassxZyn9ygYScoHkjvD/image.png 2x" /> <hr /> <p dir="auto">그러니 몽고DB 사용에 도전해봅시다. 우리는 뭘 사용하든 데이터만 보면 되니까요. <hr /> <p dir="auto"><h4> 2. MongoDB 툴인 robomongo를 설치해봅시다. <p> <p dir="auto">아무리 검색을 해봐도 robomongo만 나올뿐입니다.몽고DB의 client는 로보몽고가 장악했다고 봐도 되는걸까요? <p dir="auto"><a href="https://studio3t.com/download/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://studio3t.com/download/ 를 접속하셔서 현재 여러분이 사용하시는 윈도우가 64bit인지 32bit인지 확인하신 후 다운로드 하시면 됩니다. 리눅스나 맥을 사용하시는 분이라면 굳이 이 포스팅을 통해서 보실 필요없으실 것 같습니다. ㅎㅎ <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmRqgCRAX3RxzAuxzFPoUqFiSYmTBeBe3jUewhCiuH8W87/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmRqgCRAX3RxzAuxzFPoUqFiSYmTBeBe3jUewhCiuH8W87/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmRqgCRAX3RxzAuxzFPoUqFiSYmTBeBe3jUewhCiuH8W87/image.png 2x" /> <p dir="auto">자 그럼 설치를 진행해봅시다. 물론 설치는 넥스트로 쭈욱 갑니다. 제가 잘 모르는 툴이나 프로그램을 설치할 때는 기본 설치를 지향하는 것 같습니다. 아무래도 과거에 별도 옵션이나 설치경로를 준 다음 좋지 못한 예외상황을 많이 만나서 그런 듯 합니다. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmf3jKf6r198Jghu2m8Y2sCnwQLeQmFhRKjDNuLiwChd24/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmf3jKf6r198Jghu2m8Y2sCnwQLeQmFhRKjDNuLiwChd24/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmf3jKf6r198Jghu2m8Y2sCnwQLeQmFhRKjDNuLiwChd24/image.png 2x" /> <p dir="auto">설치가 끝나고 프로그램을 켜보면 이런 옵셔널한 메뉴가 나오는데 그대로 Finish 합시다. 나중에라도 바꿀수 있을테니까요. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmNNfqchWHeZEBeNxAi89GXqf3V2Sn9p3pxikcW9Up1y9T/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmNNfqchWHeZEBeNxAi89GXqf3V2Sn9p3pxikcW9Up1y9T/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmNNfqchWHeZEBeNxAi89GXqf3V2Sn9p3pxikcW9Up1y9T/image.png 2x" /> <p dir="auto">그러면 프로그램이 시작되는 여기서 Non-commercial use를 선택해서 트라이얼제한을 풀어버립시다. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmQ6tFw2YtqGpH88WmTjiKuB7MYhuQGC3VTxnVSN2QZjEV/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmQ6tFw2YtqGpH88WmTjiKuB7MYhuQGC3VTxnVSN2QZjEV/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmQ6tFw2YtqGpH88WmTjiKuB7MYhuQGC3VTxnVSN2QZjEV/image.png 2x" /> <hr /> <p dir="auto"><h4> 3. SteemData 몽고DB에 접속해봅시다. <p> <p dir="auto">이제 설치가 끝났으니 커넥션 설정 후에 접속을 해보면 되겠습니다. Connect 버튼 → New Connection 버튼 → 커넥션 이름을 지정하고 아까 steemdata.com 사이트에 있던 주소를 입력합니다. <hr /> <blockquote> <p dir="auto">Host: mongo1.steemdata.com<br /> Port: 27017<br /> Database: SteemData<br /> Username: steemit<br /> Password: steemit <hr /> <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmUUadsUh5AWaZeVn6CP2zzmaUkDoREkcLtaYP3xNCAakB/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmUUadsUh5AWaZeVn6CP2zzmaUkDoREkcLtaYP3xNCAakB/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmUUadsUh5AWaZeVn6CP2zzmaUkDoREkcLtaYP3xNCAakB/image.png 2x" /> <hr /> <p dir="auto">Auth 탭으로 이동하여 Auth mode를 Basic으로 바꾸고 접속 정보를 입력해줍니다. Database name 부분에는 StemData를 입력해줍니다. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmRvhcA1rx2tB9q8dUBFSUQTpmgRNmL2yApqHTQUXVpEZq/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmRvhcA1rx2tB9q8dUBFSUQTpmgRNmL2yApqHTQUXVpEZq/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmRvhcA1rx2tB9q8dUBFSUQTpmgRNmL2yApqHTQUXVpEZq/image.png 2x" /> <p dir="auto">그리고 하단에 Test Connection 버튼을 눌러 접속이 되는지 확인 후에 (조금 시간이 걸리니 기다려보세요. ) Save로 저장하고 접속해봅시다. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmVBo6yTadMa7uJ7HtyWnEmnpz931hBM5K8EEbvfBy6yhq/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmVBo6yTadMa7uJ7HtyWnEmnpz931hBM5K8EEbvfBy6yhq/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmVBo6yTadMa7uJ7HtyWnEmnpz931hBM5K8EEbvfBy6yhq/image.png 2x" /> <p dir="auto">커넥션에 steemdata라는 연결정보가 생성되었고 이를 통해 이제 쉽게 접속이 가능할 듯 보입니다.<br /> <img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmTtdoB3Cz2k7gguLY9Rr7vaJQGQXNds3SzYptkxBsotsC/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmTtdoB3Cz2k7gguLY9Rr7vaJQGQXNds3SzYptkxBsotsC/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmTtdoB3Cz2k7gguLY9Rr7vaJQGQXNds3SzYptkxBsotsC/image.png 2x" /> <p dir="auto">첫 접속입니다. 몽고디비에 대해 전혀 모르지만 컬렉션이 기존 steemsql에서 공부했던 테이블과 비슷한 개념이라는 것을 알 수 있습니다. <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmPP6eUMsQzguxfoZ1cUXYYtFernCpou4TeQ9zt5GGbkfx/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmPP6eUMsQzguxfoZ1cUXYYtFernCpou4TeQ9zt5GGbkfx/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmPP6eUMsQzguxfoZ1cUXYYtFernCpou4TeQ9zt5GGbkfx/image.png 2x" /> <hr /> <p dir="auto"><h4> 4. SteemData에서 첫 데이터 추출! <p> <p dir="auto">막상 까려고 해서 깠는데 어떻게 봐야할지 모르겠습니다. 메뉴얼 같은걸 보지 않고 막 해봅니다. 처음엔... 그게 좋아요. ㅋㅋ 단순한 SQL지원이 되는것 같으니 항목을 열고 쿼리를 해봅시다. <p dir="auto">4-1. SQL 아이콘을 누르면 아래와 같은 쿼리창이 나옵니다.<br /> 4-2. 쿼리창에 우리가 계정정보를 조회했던 쿼리를 넣어봅시다. <pre><code>-- 복붙용 쿼리 select * from Accounts where name = 'nhj12311' <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmSkZDnhv5EnoeQmNTV7XVajxWJrCxA8c7T5dXEPVBccTN/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmSkZDnhv5EnoeQmNTV7XVajxWJrCxA8c7T5dXEPVBccTN/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmSkZDnhv5EnoeQmNTV7XVajxWJrCxA8c7T5dXEPVBccTN/image.png 2x" /> <p dir="auto">이렇게 안보이시는 분은 옆에 우측 하단 4번에 Table View로 되있는 뷰 항목을 Json View로 바꾸면 보기 좋은 모습으로 데이터를 보실 수 있습니다. 전에 배웠던 steemsql과의 차이는 몽고DB는 nosql로 일정한 형식이 아닌 자유로운 포맷이 가능하다는 겁니다. 필드 구성에 있어서 자유도가 엄청 높은 디비랄까요? <p dir="auto">결과 : <pre><code> { "_id" : ObjectId("5a5fa59cc6621bcf7b48499a"), "name" : "nhj12311", "account" : "nhj12311", "active" : { "weight_threshold" : NumberInt(1), "account_auths" : [ ], -- 생략 -- <p dir="auto">이런식의 데이터를 json 문자열이라고 할수 있는데 몽고디비처럼 필드 제약이 없는 디비에서 보여주기가 편리한 포맷인듯 합니다. <hr /> <p dir="auto"><h4> 5. 내 포스팅 리스트를 추출해보자! <p> <p dir="auto">역시 지난번의 쿼리와 똑같은 방식으로 내 포스팅 리스트 또한 추출이 가능했습니다. 단지 데이터 동기화가 덜 되어있는 모습이라 빠진 데이터가 보입니다. steemdata 측에 동기화가 다시 된다면 정확한 데이터를 기대해볼 수 있겠네요. <blockquote> <p dir="auto">select title, created<br /> from Posts<br /> where author = 'nhj12311'<br /> order by created desc <p dir="auto"><img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmb4NbFv81eSW9ixAKSuuYhdSKr6F3bzjXrWGFGXTMhRjA/image.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmb4NbFv81eSW9ixAKSuuYhdSKr6F3bzjXrWGFGXTMhRjA/image.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmb4NbFv81eSW9ixAKSuuYhdSKr6F3bzjXrWGFGXTMhRjA/image.png 2x" /> <hr /> <hr /> <blockquote> <p dir="auto"><strong>지난 회차 살펴보기<br /> ■ SteemSql 시리즈 <ul> <li><strong><a href="https://steemkr.com/database/@nhj12311/sql-1" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">1편 - 데이터베이스 개념편 <li><strong><a href="https://steemkr.com/database/@nhj12311/sql-2" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">2편 - 백문이불여일견 일단 깔고 봅시다.-접속 프로그램 설치와 간단한 실행 편! <li><strong><a href="https://steemkr.com/database/@nhj12311/sql-3" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">3편 - 본인 혹은 다른이의 포스팅 리스트 뽑아보기 <li><strong><a href="https://steemit.com/database/@nhj12311/sql-4" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">4편 - 이젠 진짜 통계를 뽑아봅시다. <li><strong><a href="https://steemit.com/database/@nhj12311/sql-5-join" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">5편 - 좀 더 복잡한 통계에 도전해봅시다. Join편! <li><strong><a href="https://steemit.com/database/@nhj12311/sql-6" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">6편 - 검색을 잘하는 것도 실력이다! <li><strong><a href="https://steemit.com/kr-dev/@nhj12311/sql-7-mssql-kr-2-in-1-posting" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">7편 MSSQL의 활용 - 프로시저 기본 <blockquote> <p dir="auto">■ SteemData - MongoDB(몽고디비) 시리즈 시작~^^ <hr />
Sort:  

Wish i could read it, looks like a lot of good info

very informative post very well written

데이터베이스 군요 스팀도 저런부분이 있었네요 여기 올려주신거 보고 차근히 읽어 봐야겠습니다

좋은 내용 ~ 잘 보고 갑니다 !!

일반 사용자 입장에선 한달에 10스달이면 꽤 세죠
mysql 도 얼른 오픈했으면 하는군요 ㅎ
요즘 webapi도 안되던데 ...ㅠ

그... 그렇군요. 뭔가 업뎃을 준비하나봅니다. ㅎㅎ

잘 보고갑니다.

아! 여기는 또 새로운 세상이네요 ㅎ 한참 살펴보고 살짝 이해하고 갑니다^^

오호~~ 저렇게도 데이터베이스를 추출할 수도 있군요.

이런 서비스도 있군요. 잘 보고 갑니다.

이게 뭐죠~
아무쪼록 감사합니다
자매님 ^^

아 결제 할까요 ㅋㅋ ㅠ_ ㅠ

사진에 보니 12월달 글이 안보이는데!!! 왜그럴까용? 동기화가 덜되서 그럴까요?

네 그래보입니다. 서비스하시는분 글을 찾아보니 2주전쯤 데이터를 넣으셨다고 하던데 문제가 있는듯 하네요. 이슈는 알고있을거고 동기화 다시 해주지 않을까 생각합니다.

MongoDB
요새 데이타사이언스 쪽에서 사람 뽑을 때 거의 항상 물어보는 것 중에 하나던데,
여기서 접하게되네요.

지난 번 SQL 설치하고 몇번 사용하지도 못했는데, 접속 불가!! 이번에 mongoDB도 설치할까 말까 고민중입니다. 제가 필요한 건 node.js로 할 수 있게 되어서 고민 중입니다. 좋은 글 감사합니다.