Tech-Trends

(트렌드) 2020 오픈소스 솔루션 Bossie Award 수상자

IT오이시이 2021. 1. 29. 07:11
728x90

(트렌드) 2020 오픈소스 솔루션 Bossie Award 수상자

2020년 오픈소스 관련 주목 받는 솔루션중에 그래프DB에 대한 정리를 해보았다.

InfoWorld는 해마다 Best of Open Source Awards를 발표한다. 2020년 최신 오픈 소스에 대한 트렌드는 머신 러닝 모델,  데이터 시각화, 유연한 워크 플로,  빠르고 확장 가능한 데이터베이스 및 분석 등이 었다. 

  1. 하수라(Hasura)
  2. 프리즈마(Prisma)
  3. 제킬(Jekyll)
  4. 개츠비(Gatsby)
  5. 드루팔(Drupal)
  6. 불칸(Vulkan)
  7. 레디스(Redis)
  8. 아파치 에어플로우(Apache Airflow)
  9. 아파치 슈퍼세트(Apache Superset)
  10. 야누스그래프(JanusGraph)
  11. 아파치 드루이드(Apache Druid)
  12. 아파치 애로우(Apache Arrow)
  13. 아르고(Argo)
  14. 셀던 코어(Seldon Core)
  15. 옵튜나(Optuna)
  16. K9s
  17. 쿠버디렉터(KubeDirector)
  18. 보틀로켓(Bottlerocket)
  19. SPIFFE
  20. 렘(Lem)
  21. 채플(Chapel)
  22. 아프로모어(Apromore)
  23. 소스그래프(Sourcegraph)
  24. 퀘스트DB(QuestDB)
  25. OPA(Open Policy Agent)



1. Hasura  (hasura.io)

Hasura(하수라)애플리케이션은 GraphQL 이다.

1) Instant Realtime GraphQL API : 기존앱과 Hasura의 실시간 API를 이용하여 기존 데이터 베이스를 이용할수 있다.

2) 내장된 보안 인증 : Hasura는 GraphQL API를위한 매우 세분화 된 규칙 및 역할 기반 인증 엔진과 함께 제공한다.

3) 비즈니스 로직을 통합 : GraphQL 쿼리를 구성, 실행 및 구성하는 데 유용한 그래픽 도구를 제공하고, 모든 언어 또는 프레임 워크에 비즈니스 로직을 추가하여 API를 확장하고이를 기반으로 워크 플로를 트리거 할 수 있다.

Hasura는 PostgreSQL 및 PostgreSQL 호환 데이터베이스를 염두에두고 구축되었습니다 (현재 MySQL도 지원). JavaScript / REST API 시대가 MongoDB 및 NoSQL에 속했다면 GraphQL 시대는 PostgreSQL 및 분산 SQL에 속합니다. Hasura는 이러한 최신 애플리케이션 트렌드에서 등장한 최고의 오픈 소스 GraphQL 스택 중 하나입니다.

 

 

 

 

 

2. Prisma (prisma.io)

Prisma 는 PostgreSQL, MySQL 및 SQLite 용 오픈 소스 ORM을 사용하여 앱 개발자가 더 빠르게 빌드하고 오류를 줄이는데 도움이된다.
Prisma는 SQL 쿼리에 대한 자동 완성과 같은 기능으로 개발자에게 친숙한 ORM과는 근본적으로 차이가 있다.

기존 ORM은 프로그래밍 언어의 모델 클래스에 테이블을 매핑하여 관계형 데이터베이스 작업을위한 객체 지향 방식을 제공하지만 객체와 테이블에 대한 정의가 잘못되면 문제가 발생한다. Prisma를 사용하면 데이터베이스 스키마 및 프로그래밍 언어의 모델에 대한 단일 소스 역할을 하는 스키마 모델을 정의 할 수 있다.

1)Prisma는 데이터베이스 스키마에 맞게 자동 생성되고 유형이 안전한 쿼리 빌더를 사용하여 데이터베이스에 쉽게 액세스 할 수 있도록 한다.

2)Prisma는 웹 API 구축을 통해서 반복적 인 CRUD 상용구를 저장하고 페이지 매김 및 필터링과 같은 일반적인 사용 사례를위한 유연한 API를 제공한다.

3) Prisma Client를 사용하면 직관적인 API와 평범한 JavaScript 객체를 사용하며 더 이상 SQL이나 복잡한 ORM 모델을 디버깅 할 필요가 없다. (Node.js , TypeScript, Golang을 지원한다.)

 

 

 

 

  • Prisma Client : 애플리케이션에서 사용할 수 있도록 자동 생성되고 형식이 안전한 데이터베이스 클라이언트
  • Prisma Migrate (얼리 액세스) : 선언적 데이터 모델링 및 마이그레이션 도구.
  • Prisma Studio : 데이터베이스에서 데이터를 검색하고 관리하기위한 GUI 환경.

 

 

 

 

Prisma는 gRPC 및 GraphQL을 포함한 API 개발을 염두에두고 설계하였다. PostgreSQL, MySQL 및 SQLite 데이터베이스에서 작동된다.  Visual Studio Code 확장과 최신 데이터베이스 API 및 매핑 솔루션에서 기대할 수있는 모든 것이 포함되어 있다. 객체와 쿼리의 관점에서 생각하고 안전한 형식과 자동으로 고형식 안전성과 모든 수정 사항을 갖고 싶은 개발자는 Prisma를 고려할 수 있다.

3.지킬 jekyll


Jekyll 은 정정 사이트 생성기로 정보를 가져 와서 콘텐츠 전송 네트워크로 보낼 수있는 개별 웹 페이지 모음으로 패키지화하는 최고의  사이트 생성기입니다. Jekyll은 데이터베이스가 없이도 텍스트를 가져 와서 템플릿에 맞추면 콘텐츠가 작성됩니다. 사이트에서 정적 콘텐츠가 필요한 경우 빠르게 정적 파일을 저장하는 속도와 좋은 템플릿이 제공되는 모든 유연성을 얻을 수 있습니다.

 

4.개츠비 - Gatsby

 React의 정교한 다중 패널 접근 방식을 채택한 사람은 여전히 ​​무엇이든 만들기 위해 많은 작업을해야했습니다. 

Gatsby 는 React를 기반으로하는 프레임 워크로 Shopify 스토어와 같은 큰 규모 부터 작은 규모의 사이트에서 JSON 데이터 피드 작업을 위한 2,000 개 이상의 다른 모듈 을 포함한  플러그인들을 제공합니다.

Gatsby 프로젝트의 주요 목표 중 하나는 빠른 웹 페이지를 제공하는 것이며, 좋은 캐싱, 정적 페이지 생성 및 에지 기반 CDN 데이터 소스를 활용하여 이러한 목표를 추구합니다. 이 프로젝트는 이러한 세심한주의가 "다른 정적 프레임 워크보다 2.5 배 빠른"정적 웹 페이지를 생성 할 것이라고 주장합니다


5.드루팔 - Drupal 


Drupal 철학은 새로운 것이 아닙니다. Dries Buytaert 는 2001 년에 오픈 소스로 첫 번째 버전을 출시하여 개발자가 여러 필드로 구성된 데이터가 풍부한 노드로 채워진 웹 사이트를 가동 할 수 있도록 지원했습니다.

Drupal 9 는 6 월에 출시되었으며 Composer, Symphony 및 Twig와 같은 PHP 도구를 기반으로 구축 된 완전히 현대적인 PHP 웹 애플리케이션입니다.

이 프로젝트는 WordPress 및 Joomla와 같은 모든 PHP 도구를 전달하는 가속 물결을 타고 있습니다. PHP 개발자가 Java 및 Node.js의 성공을 뒷받침하는 Just-In-Time 컴파일러 기술을 채택함에 따라 언어가 점점 빨라지고 있습니다.


6. Vulkan


Vulkan 은  최신 GPU에 대한 매우 효율적인 크로스 플랫폼 액세스를 제공하는 차세대 그래픽 및 컴퓨팅 API입니다. 

Vulkan API는 게임, 모바일 및 워크 스테이션 개발을 지원하며 OpenGL 표준의 후속 제품입니다.

본질적으로 그래픽 API 인 OpenGL과 비교할 때 Vulkan은 GPU API에 가깝습니다. AMD, Arm, Broadcom, Imagination, Intel, Nvidia, Qualcomm 및 VeriSilicon의 Vulkan 드라이버와 Windows, Linux, macOS / iOS 및 Android 용 Vulkan SDK가 있습니다. 


7. Redis


속도, 탄력성, 확장성 및 유연성을 갖춘 강력한 오픈 소스 입니다.

Redis  는 데이터베이스, 캐시 및 메시지 브로커로 작동 할 수있는 NoSQL 인 메모리 데이터 구조 저장소로 사용됩니다.

Redis의 기능으로  복제, Lua 스크립팅, LRU 제거, 트랜잭션 및 다양한 수준의 온 디스크 지속성이 있습니다. Redis Sentinel을 통한 고가용 성과 Redis Cluster를 통한 자동 파티셔닝을 제공합니다. Redis는 일반적으로 1 밀리 초 미만의 데이터베이스 지연 시간을 제공합니다.

핵심 Redis 데이터 모델은 키-값이지만 문자열, 목록, 집합, 정렬 된 집합, 해시, 스트림, HyperLogLog 및 비트 맵과 같은 많은 종류의 값이 지원됩니다. Redis는 반경 쿼리 및 스트림을 통해 지리 공간 인덱스도 지원합니다. 

Redis 6 에는 몇 가지 주요 기능, 가장 중요한 스레드 I / O가 추가되어 속도가 2 배 향상되었습니다. 액세스 제어 목록 (ACL)을 추가하면 Redis 6에 사용자 개념이 제공되고 개발자가보다 안전한 코드를 작성할 수 있습니다.


8. Apache Airflow


Apache Airflow 는 워크플로우 기술로 어떤 일이  특정 순서로 발생하고 나중에 다른 일이 발생하도록 트리거 할수 있습니다.

 Python 기반 워크 플로가 필요한 경우 원래 Airbnb에서 만든 Apache Airflow 는 허클베리 와 유사합니다.

Airflow를 사용하면 DAG (Directed Acyclic Graph)로 워크 플로를 구성 할 수 있습니다. 동적 워크 플로를 구성 할 수도 있습니다. 워크 플로우를 XML 또는 기타 메타 데이터 언어로 번역해야하는 다른 도구와 달리 Airflow는 "코드로 구성"원칙을 따르므로 모든 것을 Python 스크립트로 작성할 수 있습니다.


9. Apache Superset


Apache Superset는 Airbnb를 통해 개발된 시각화 도구 입니다.

Tableau의 높은 비용을 고려하면 좋은 대안일 수 있습니다.

SQL IDE, 데이터 탐색기, 끌어서 놓기 대시 보드 편집기 및 사용자 지정 시각화를 구축하기위한 플러그인을 결합한 Superset은 많은 관계형 및 비 관계형 데이터베이스에서 대시 보드를 만들 수있는 시각화 도구 키트입니다.

 Apache Drill 및 Apache Druid . 무엇보다도 Superset은 클라우드 네이티브, Dockerized, 스케일 아웃 및 모든 최신 환경입니다.



(참조)

www.infoworld.com/article/3575858/the-best-open-source-software-of-2020.html

728x90
반응형