mysql vs mysql2

meek·2024년 2월 7일
0

TIL

목록 보기
24/24
post-thumbnail

최근 MySQL과 MySQL2의 다운로드 추이를 비교하고, 새로운 기술 동향에 대한 궁금증을 해소하기 위해 관련 정보를 정리하고 공유하고자 글을 작성해보았습니다.✨

최근 5년간의 다운로드 수를 살펴보면, MySQL2의 다운로드수가 상승하고 있는데 이는 MySQL의 4년 전을 마지막으로 업데이트가 지속적으로 이뤄지지 않고 있다는 점과 관련이 있는 것 같습니다. 반면, MySQL2는 9일 전에 업데이트된 것을 확인할 수 있습니다.

또한, MySQL과 MySQL2의 가장 큰 차이 중 하나는 Promise의 지원 여부입니다. MySQL은 Promise를 지원하지 않으며, Callback 기반으로 동작합니다. 반면 MySQL2는 Promise를 지원하며, Callback과 Promise를 모두 활용할 수 있습니다.

👉🏻 MySQL을 사용하는 사용자도 MySQL2로 마이그레이션을 쉽게 할 수 있게 됩니다!

MySQL을 사용할 경우, Promise를 사용하기 위해 별도의 모듈인 'promise-mysql'을 설치해야 하는 번거로움이 있습니다. MySQL2를 사용하면 이러한 추가 작업 없이도 Promise를 활용할 수 있기 때문에 이 또한 장점이라고 볼 수 있습니다.


promise란?

promise로 구현된 비동기 처리 함수는 콜백을 예측 가능한 패턴으로 사용하도록 도와줍니다. 순차적이지 않은 비동기함수의 실행순서를 제어할 수 있게 도와주고 콜백패턴에 비해 가독성이 좋고 반환된 결과물을 사용하기 편하게 도와줍니다.

promise의 세 가지 상태

  • pending : new Promise로 Promise가 생성된 직후부터 resolve나 reject가 호출되기 전까지의 순간입니다.
    (비동기 처리 로직이 아직 완료되지 않은 상태)

  • fullfilled: 비동기 처리함수 값이 참이라면 resolve메서드가 호출되고 resolve메서드의 인자로 설정한 비동기 함수의 결과값이 전달됩니다. 이 결과는 then을 통해 후속처리됩니다.
    (처리가 완료되어 프로미스가 결과값을 반환한 상태)

  • rejected: 처리가 실패하거나 오류가 발생한 상태


참고자료

https://ukcasso.tistory.com/64
https://npmtrends.com/mysql-vs-mysql2

profile
hello, world!

0개의 댓글