Java/KotlinバックエンドとSvelte/typescriptフロントエンド開発者のためのHacktoberfestプロジェクト👩‍💻👨‍💻


SIRIXDB—進化的蓄積型データベースシステム(現在XMLとJSONデータを格納する)🦁


コアとSvelteベースフロントエンドにGithubに貢献すること自由に感じなさい💚


こんにちは.
構造の共有と新しいスライドスナップショットアルゴリズムを介して空間効率的な方法でデータのすべての改訂を保存versionedデータベースシステム上で動作するように多くの可能性があります.🐬
SirixDB リビジョン間のストア変更のみですが、任意のリビジョンをインデックス付けし、O ( n )で再構築できますが、Nはリビジョンのノード数です.
あなたがチェックインHacktoberfestに参加したいなら、多くの機会があります.例えば、フロントエンド、バックエンド、Vert.x , Kotlin とKeykloak、またはクエリオプティマイザ(例えば、コストベースのルールに基づいてASTを書き換える).または、あなたは、例えば、分散ログを通して、最も水平にSSIXDBをスケールする方法を調べたいかもしれませんApache Kafka?! ) 😃
さらにsirix.io ウェブサイトにはいくつかの愛が必要です.

🐣 フロントエンド,Svelte,Typescript,D 3js



Moshe - Muminerは現在、StrixDB用のPythonとタイプスクリプトベースのクライアントの作業に加え、Svelteで構築されたフロントエンドに取り組んでいます.
一方、フロントエンドの目的はクエリを通じてデータベースシステムと対話することである.一方で、改正の違いを視覚化する.
一般的に、私はかつて私の修士論文のために開発したものとして、同様の空間充填アプローチ(変更されたサンバーストビュー)を提供したいと思います

🚀 Javaで書かれたバックエンドとvertで作られた非ブロッキングREST - API。XとKotlin


あなたがバックエンドのものにより多くのならば、あなたはどちらかでStrixDBについての問題に関して直接働くことができるか、KotlinVert.x .

サイリックス / サイリックス


sirixdbは,蓄積のみのアプローチを使用する,時間的,進化的データベースシステムである。これは、各リソースの完全な履歴を保持します。あらゆるコミットは、構造共有を通してスペース効率的なスナップショットを保存します。これはログ構造化され、データを上書きしません。sirixDBは、新しいページレベルのバージョンのアプローチをスライドスナップショットと呼ばれる使用します。


例えば、非ブロッキングHTTPサーバでのWebソケットサポート

WebSocketは、クライアント/ブラウザにリソースの変更をストリームする 九九九



JohannesLichtenberger
掲示される
これをREST APIモジュールに入れて、vertでビルドします.Xとコリン.
View on GitHub
GRAALVMを使ってネイティブイメージを作成しようとします(ただし、Java 14または15はサポートされていないかもしれません).

GraalVMでネイティブイメージを作成する 菅77



JohannesLichtenberger
掲示される
コンテナの高速起動時間.しかし、ピークのパフォーマンスは良いかもしれない.
View on GitHub
SIRXDBに対するKollinベースDSL

ベースラッパー 菅六六



JohannesLichtenberger
掲示される
したがって、私たちも良いDSLを作成することができます.
しかし本質的にはXDMNodeトランザクション層の基本的なバージョンはInfix関数trx moveTo 3 同様に、ビルダーを削除するだけで、デフォルトのパラメータを使用します.
しかし、私はKotlinの専門家とこれを議論したいです--)
View on GitHub
すべての問題を見てみましょう:-)
また、長期的にはコリンズクライアントとラストクライアントが必要です.

最適化


または、クエリの最適化について作業したい場合は、BLACKITによって生成されたASTを書き換える方法を見ることができます.

データベースストレージバックエンドによるJSON 菅5



JohannesLichtenberger
掲示される
ちょっとセバスチャン、あなたにすべての時間を悩ませてごめんなさい、しかし、多分、あなたはあなたがネイティブのJSONストレージバックエンドのために結合を実装するかもしれない良い先端を与えることができます.私は現在、オープンソースプロジェクトのXML以外の一時的JSONストレージ層での作業を終えていますhttp://sirix.io ) また、brackitを使用したいと思います.多分、既に提供しているインターフェイスを実装することもできます(基本的にXDMノードトランザクションと同じでなければなりません).
基本的に私のJSONノード層はMarkLogicのように見えます.
https://docs.marklogic.com/guide/app-dev/json
View on GitHub
我々は現在、任意の固有のストレージの最適化を考慮しないように、ここで最適化の可能性をたくさん持っている.👍
これは、特定のクエリのパフォーマンスを大幅に増加します.
クエリは以下のようになります.
let $doc := jn:open('database','resource', xs:dateTime('2019-04-13T16:24:27Z'))
let $statuses := $doc=>statuses
let $foundStatus := for $status in $statuses
  let $dateTimeCreated := xs:dateTime($status=>created_at)
  where $dateTimeCreated > xs:dateTime("2018-02-01T00:00:00")
        and not(exists(jn:previous($status)))
  order by $dateTimeCreated
  return $status
return {"revision": sdb:revision($foundStatus), $foundStatus{text}}
セバスチャンの論文を見てくださいSeparating Key Concernsin Query Processing
彼はテオトランザクションの発明の下で働いた👌

👾 SIRIXDBを水平にスケールする方法について考えてください


私はそれについて考えて、トランザクションログを配布するのが大好きですApache BookKeeper or Apache Pulsar ( Apacheのブックキーを使います).Apache Kafkaと比較していくつかの利点があるかもしれません.

❤️ ハッピーコーディング


それで、働く多くのものがあります.それは超多様なフィールドです.私は故意に初心者をフロントエンド初心者として物事に取り組むよう招待したいです.しかし、私はより熱心に学ぶ以上です.👋
私は、プロジェクトがあなたの何人かにとって役に立つことを望みます、そして、私は単独で働いている年の後の最後のHacktoberfestから多くの貢献さえ得ました;それは単に素晴らしいです.どうもありがとう😎
あなたがプロジェクトのような場合は、Twitter上で共有する可能性がありますし、言葉を広める!🙈
貢献するGitHub SirixDB and GitHub SirixDB Web Frontend 💚
素敵な一日と偉大な一日を
ヨハネス