<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: devconnected</title>
    <description>The latest articles on DEV Community by devconnected (@devconnectedcom).</description>
    <link>https://dev.to/devconnectedcom</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F169227%2Fb47916fa-439f-4fbd-9abe-db6b550b795d.png</url>
      <title>DEV Community: devconnected</title>
      <link>https://dev.to/devconnectedcom</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devconnectedcom"/>
    <language>en</language>
    <item>
      <title>How To Generate Git SSH Keys</title>
      <dc:creator>devconnected</dc:creator>
      <pubDate>Mon, 30 Dec 2019 15:16:43 +0000</pubDate>
      <link>https://dev.to/devconnectedcom/how-to-generate-git-ssh-keys-56ik</link>
      <guid>https://dev.to/devconnectedcom/how-to-generate-git-ssh-keys-56ik</guid>
      <description>&lt;p&gt;If you have been working with Git for quite some time, you know how important it is to setup SSH authentication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSH authentication&lt;/strong&gt; is one of two ways of logging to your Git remote repository and pushing modifications to it.&lt;/p&gt;

&lt;p&gt;Using SSH keys with Git, you don’t have to use your password anymore.&lt;/p&gt;

&lt;p&gt;You simply have to create your SSH key, store it on your local machine and configure it for your Git client to use it to connect to your remote.&lt;/p&gt;

&lt;p&gt;In this tutorial, we are going to learn how you can generate SSH keys for Git, whether you are on Linux or on Windows.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note : if you are using Github, follow this tutorial to setup SSH keys on Github&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In order to &lt;a href="https://devconnected.com/how-to-setup-ssh-keys-on-github/"&gt;generate SSH keys for your Git repository&lt;/a&gt;, use the “ssh-keygen” command and specify the encryption algorithm that you want to use.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ssh-keygen -t rsa -b 4096 -C "email@example.com"
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Note that it is recommended to generate your SSH keys in the “.ssh” directory of your home directory.&lt;/p&gt;

&lt;p&gt;When using the ssh-keygen utility, you will be prompted with multiple questions.&lt;/p&gt;

&lt;p&gt;First, you will be asked to provide the filename for your key as well as the passphrase.&lt;/p&gt;

&lt;p&gt;For the filename, you usually want to leave the default options and simply press Enter.&lt;/p&gt;

&lt;p&gt;For the passphrase, we won’t bother choosing a passphrase for this tutorial.&lt;/p&gt;

&lt;p&gt;Even if it includes an extra layer of security for your Git repository, you will be prompted with the passphrase every time that you want to perform an operation on the repository.&lt;/p&gt;

&lt;p&gt;The ssh-keygen utility created two files for you :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;id_rsa : this is the private key of your SSH key pair, you should not share this key with anybody.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;id_rsa.pub : this is the public key of your SSH key pair, this is the key that you will copy to your server in order to connect to it seamlessly.&lt;br&gt;
Generate SSH keys for Git on Windows&lt;br&gt;
In order to generate SSH keys for Git on Windows, you have to enable the OpenSSH commands using the “Add-WindowsCapability” command.&lt;/p&gt;

&lt;p&gt;$ Add-WindowsCapability -Online -Name OpenSSH.Client*&lt;/p&gt;

&lt;p&gt;Path          :&lt;br&gt;
Online        : True&lt;br&gt;
RestartNeeded : False&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note : you need to be administrator in order to enable OpenSSH on your computer.&lt;/p&gt;

&lt;p&gt;Now that OpenSSH is enabled and configured on Windows, simply use the “ssh-keygen” command in order to generate your SSH keys.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ssh-keygen -t rsa -b 4096 -C "email@example.com"
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;By default, you will be prompted to provide a public key filename as well as a passphrase.&lt;/p&gt;

&lt;p&gt;You can leave those options empty : by default, your key-pair will be named “id_rsa” (or “id_rsa.pub” for the public key).&lt;/p&gt;

&lt;p&gt;When it comes to the passphrase, it provides more security to add one but you will be asked to provide it on every SSH authentication.&lt;/p&gt;

&lt;p&gt;generate git ssh keys on windows&lt;br&gt;
As you can see, your SSH keys for Git are located in the “.ssh” directory of your user home.&lt;/p&gt;

&lt;p&gt;The ssh-keygen utility created two files for you :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;id_rsa : this is the private key of your SSH key pair, you should not share this key with anybody.&lt;/li&gt;
&lt;li&gt;id_rsa.pub : this is the public key of your SSH key pair, this is the key that you will copy to your server in order to connect to it seamlessly.
Setup SSH authentication on Git
Now that your SSH keys are generated for Git, it is time to add them to your remote Git repository in order to push changes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In order to setup SSH authentication on the server, you will have to copy the content of the public key to the “authorized_keys” file of the server.&lt;/p&gt;

&lt;p&gt;Copy SSH keys to your Git server&lt;/p&gt;

&lt;p&gt;On the client, use the “cat” command in order to see the content of the public key.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cat ~/.ssh/id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Copy the output of your cat command, and paste it into the “authorized_keys” file of your server (or remote repository).&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo vi /home/git/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Alternatively, if you don’t want to copy and paste the content of your public key, you can use the “ssh-copy-id” command.&lt;/p&gt;

&lt;p&gt;This command will simply take the content of your “.ssh” directory and add the relevant public keys to the “authorized_keys” file of the server.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ssh-copy-id &amp;lt;user&amp;gt;@&amp;lt;remote&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Now that your keys are correctly configured for Git, you should be able to pull and push modifications to your Git repository.&lt;/p&gt;

&lt;p&gt;Head over to the directory where your project files are stored.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cd /home/myproject
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;If you don’t have a Git repository, initialize one using the “git init” command.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git init
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;If there is already a “.git” file in your directory, it means that there is already a repository initialized.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note : in order to get the content from your existing Git repository, use the &lt;a href="https://devconnected.com/how-to-clone-a-git-repository/"&gt;“git clone”&lt;/a&gt; command.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now that your Git repository is correctly configured, add the remote repository using the “git remote add” command.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git remote add origin git@&amp;lt;server_ip&amp;gt;:&amp;lt;path_to_git_repository&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;On the server, if the “project.git” file (i.e the repository root) is located directly on the git user home directory, you would write&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git remote add origin git@8.8.8.8:project.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;After adding your remote, make sure that your modifications are effective by running the “git remote -v” command.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git remote -v

origin   git@8.8.8.8:project.git (fetch)
origin   git@8.8.8.8:project.git (push)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Great!&lt;/p&gt;

&lt;p&gt;Let’s now try to add some files in order to test if files can be pushed to your remote repository.&lt;/p&gt;

&lt;p&gt;Create a README file using the “touch” command.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ touch README
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Add the files using the “git add” command and commit them using the “git commit” command.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git add .

$ git commit -m "This is the first commit of this repository"
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Finally, push your modifications : the push operation should not require any password using the SSH method.&lt;/p&gt;

&lt;p&gt;$ git push&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Awesome!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You have correctly configured SSH key-based authentication for your Git repository.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;In this tutorial, you learnt how you can generate SSH keys for Git easily using the ssh-keygen utility.&lt;/p&gt;

&lt;p&gt;You learnt that the same utility is used on Linux and on Windows.&lt;/p&gt;

&lt;p&gt;The directories used in order to store the keys are also the same.&lt;/p&gt;

&lt;p&gt;If you are interested about Git or about software engineering, we have a complete section dedicated to it on the website, so make sure to check it out!&lt;/p&gt;

</description>
      <category>git</category>
      <category>security</category>
      <category>github</category>
    </item>
    <item>
      <title>4 Best Time Series Databases To Watch in 2019</title>
      <dc:creator>devconnected</dc:creator>
      <pubDate>Sat, 25 May 2019 18:29:39 +0000</pubDate>
      <link>https://dev.to/devconnectedcom/4-best-time-series-databases-to-watch-in-2019-4d6m</link>
      <guid>https://dev.to/devconnectedcom/4-best-time-series-databases-to-watch-in-2019-4d6m</guid>
      <description>&lt;p&gt;When developing &lt;strong&gt;IoT, financial or industrial applications&lt;/strong&gt;, the choice of a good time series database is most of the time a headache, choosing between the 30+ (and growing) list of time series vendors in the industry.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3Gs1AG0S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ob36610j9pr5h9hctgso.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3Gs1AG0S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ob36610j9pr5h9hctgso.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When choosing a time series database, it is best to know what they have to offer and how they can suit your needs.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Are you more about directly writing SQL, or do you prefer a brand new processing language for your time series? Are you concerned about cloud based solutions, or do you have your own integration solutions?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This article will &lt;strong&gt;help you benchmark&lt;/strong&gt; your different options.&lt;/p&gt;

&lt;p&gt;Here is the list of &lt;strong&gt;my best time series database to use in 2019&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. InfluxDB
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wLr_ZCP8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/qhday7hjo7ejr5zqky7u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wLr_ZCP8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/qhday7hjo7ejr5zqky7u.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built by InfluxData in 2013&lt;/strong&gt;, InfluxDB is a completely &lt;strong&gt;open-source time series database&lt;/strong&gt; working on all current operating systems. InfluxDB supports a very large set of programming languages (yes.. even Lisp and Clojure…). It is optimized for heavy writing load and works amazingly well with concurrency.&lt;/p&gt;

&lt;p&gt;InfluxDB is &lt;strong&gt;schema-free&lt;/strong&gt; : it is build on &lt;strong&gt;NoSQL flavors&lt;/strong&gt; and allows for quick database schema modifications. Depending on what you are trying to build, this conceptual choice &lt;strong&gt;may or may not be adapted to your needs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why should you use InfluxDB?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Play with it in 5 minutes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Five minutes is all it takes from the moment you download it until you are able to play with it. &lt;strong&gt;A good technical documentation&lt;/strong&gt; makes it super easy to install, configure and launch InfluxDB. As a NoSQL-like database, you don’t have to setup your database in any ways : &lt;strong&gt;you insert your data and you are good to go.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrated TICK stack&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;InfluxDB is part of the TICK stack : &lt;strong&gt;Telegraf, InfluxDB, Chronograf and Kapacitor&lt;/strong&gt;. InfluxData provides, out of the box, &lt;strong&gt;a visualization tool&lt;/strong&gt; (that can be compared to Grafana), a data processing engine that binds directly with InfluxDB, and a set of more than &lt;strong&gt;50+ agents that can collect real-time metrics for a lot of different data sources.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now let’s be fair.&lt;/p&gt;

&lt;p&gt;InfluxDB is most of the time used with Grafana. Chronograf is not (at the moment) as good as Grafana, but InfluxData is trying to turn the ship around. By building &lt;strong&gt;Flux, a new processing language,&lt;/strong&gt; and integrating it directly with Chronograf, they might offer some very unique features to it in the next months.&lt;/p&gt;

&lt;p&gt;(Want to know more about Flux? I wrote an article about it.)&lt;/p&gt;

&lt;p&gt;SQL is dead - Hail To Flux : &lt;a href="http://devconnected.com/sql-is-dead-hail-to-flux/"&gt;http://devconnected.com/sql-is-dead-hail-to-flux/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;InfluxDB Website — &lt;a href="https://influxdata.com"&gt;https://influxdata.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. TimescaleDB
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fQKhe9Iv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8dae707yjrkc34hbiils.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fQKhe9Iv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8dae707yjrkc34hbiils.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ranked n°15 last year, TimescaleDB is making &lt;strong&gt;huge progress in the rankings this year&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Well if you ask me, they provide a &lt;strong&gt;very solid and scalable alternative to InfluxDB.&lt;/strong&gt; TimescaleDB is also open-sourced and based on &lt;strong&gt;SQL premises&lt;/strong&gt;. They also provide a very large set of supported programming languages (incl. Java and Python) for your applications to integrate directly with it.&lt;/p&gt;

&lt;p&gt;TimescaleDB is &lt;strong&gt;directly tied with PostgresSQL&lt;/strong&gt; as it scales the famous relational database to offer a unique set of time series related operations (such as fast ingest).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why should you use TimescaleDB?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL support :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the greatest assets of TimescaleDB is the fact that it supports the SQL &lt;strong&gt;language natively&lt;/strong&gt; and allows developers to quickly jump the train without having to learn any new language. It is of course a very nice aspect for developer productivity, as you can ensure that SQL-experienced developers in your team can be immediately effective with TimescaleDB.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PostgresSQL Integration :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Guardian did a very nice article explaining on they went from MongoDB to PostgresSQL in the favor of scaling their architecture and encrypting their content at REST. As you can tell, &lt;strong&gt;big companies are relying on SQL-constraint systems&lt;/strong&gt; (with a cloud architecture of course) to ensure system reliability and accessibility. I believe that &lt;strong&gt;PostgresSQL will continue to grow, so will TimescaleDB.&lt;/strong&gt; By belonging to the PostgresSQL ecosystem, TimescaleDB will inherit from all the tools and plugins developed by this huge community.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A debatable better performance than InfluxDB&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I must emphasize that this is a ‘debatable’ better performance as systems are pretty new to the market and they were not tested on all the different cases that the industry has to offer.&lt;/p&gt;

&lt;p&gt;As a fair-minded writer, I must point out the fact that Matvey Arye wrote a very good article comparing &lt;strong&gt;Flux to SQL&lt;/strong&gt; and in a way &lt;strong&gt;InfluxDB to TimescaleDB&lt;/strong&gt;. His points about query optimization in particular should be read carefully and they provide a very solid explanation on &lt;strong&gt;why they could be more performant&lt;/strong&gt; (at least in theory).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Matvey Arye article — SQL vs Flux&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;SQL vs. Flux: Choosing the right query language for time-series data.&lt;br&gt;
&lt;a href="https://blog.timescale.com/sql-vs-flux-influxdb-query-language-time-series-database-290977a01a8a"&gt;https://blog.timescale.com/sql-vs-flux-influxdb-query-language-time-series-database-290977a01a8a&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;TimescaleDB Website&lt;/em&gt; — &lt;a href="http://timescale.com"&gt;http://timescale.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. OpenTSDB
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c11NUU9s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/r698hcg9as1dhg1ly7l7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c11NUU9s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/r698hcg9as1dhg1ly7l7.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;OpenTSDB has been running for quite more time than its competitors and is one of the first technologies to address the need to store time series data at a very large scale. &lt;strong&gt;OpenTSDB promises to be able to store hundreds of billions of data rows over distributed instances of TSD servers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OpenTSDB is a schema free database built on &lt;strong&gt;Apache HBase&lt;/strong&gt;. For those who don’t know, &lt;strong&gt;HBase is a non-relational management system written to handle big tables storage in an elegant and efficient way.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why should you use OpenTSDB ?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ted Dunning (Chief Application Architect at MapR) made a quite explicative talk about how time series database should be built and how horizontal arranging of time ranges could scale a DBMS up to &lt;strong&gt;20 to 30 millions writes per second&lt;/strong&gt;. This is a huge insertion rate considering a single InfluxDB node instance could insert up to one million writes per second.&lt;/p&gt;

&lt;p&gt;You might want to give OpenTSDB a shot if you are dealing with such insertions rates in your system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integration Ecosystem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reading the documentation, OpenTSDB integrates with a fair amount of tools such as &lt;strong&gt;Cassandra, BigTable, CollectD, StatsD, Chef and even Puppet&lt;/strong&gt; for deployment management.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ted Dunning on Time Series Database Architecture&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/SgD3RD2Shg4"&gt;https://youtu.be/SgD3RD2Shg4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;OpenTSDB Website&lt;/em&gt; — &lt;a href="http://opentsdb.net"&gt;http://opentsdb.net&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Graphite
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OsGmvPxp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/e8xfs0dtz9udfwolk9fx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OsGmvPxp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/e8xfs0dtz9udfwolk9fx.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Graphite is a even more established and very widely used time series database system. Graphite is a &lt;strong&gt;powerful monitoring tool that store numeric time series data&lt;/strong&gt; and display them on demand via its Graphite-web interface at a fair speed. Graphite is most of the time used as a system, network and application performance metric store. Big companies such as &lt;strong&gt;Booking.com, Reddit and GitHub&lt;/strong&gt; use it on a daily basis to be able to easily detect &lt;strong&gt;outage&lt;/strong&gt; on their architecture.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why should you use Graphite?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Graphite does a few things, but it does it well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Graphite is built to deal with numeric data. As it can be a limitation in itself if you are not dealing with numeric data, Graphite provides out of the box a set of tools that makes it easy for developers to get started. &lt;strong&gt;Graphite Web provides a very nice interface for developers to monitor their application.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Good Integration Ecosystem
As OpenTSDB, Graphite connects with a lot of tools natively and makes it easy for developers to connect with their existing infrastructure. Graphite is able to easily connect with &lt;strong&gt;CollectD, sensu, Riemann, Windows Server, Logstash and many more.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Graphite Website&lt;/em&gt; — &lt;a href="http://graphiteapp.org"&gt;http://graphiteapp.org&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  X — Your Turn To Share!
&lt;/h2&gt;

&lt;p&gt;Do you have experience with those time series databases? If so, &lt;strong&gt;which one would you recommend and why?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Also, if you find that some TSMS should be ranked higher or lower, feel free to give your own rankings in the comment section.&lt;/p&gt;

&lt;p&gt;Want to read more? Here are the latest articles on devconnected :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Definitive Guide To InfluxDB in 2019 : &lt;a href="http://devconnected.com/the-definitive-guide-to-influxdb-in-2019/"&gt;http://devconnected.com/the-definitive-guide-to-influxdb-in-2019/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;4 best dashboard monitoring tools in 2019 : &lt;a href="http://devconnected.com/4-best-dashboard-monitoring-tools-in-2019/"&gt;http://devconnected.com/4-best-dashboard-monitoring-tools-in-2019/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Monitoring Linux Processes using Prometheus and Grafana : &lt;a href="http://devconnected.com/monitoring-linux-processes-using-prometheus-and-grafana/"&gt;http://devconnected.com/monitoring-linux-processes-using-prometheus-and-grafana/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
