<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://barucho.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://barucho.github.io/" rel="alternate" type="text/html" /><updated>2026-01-17T23:31:00+02:00</updated><id>https://barucho.github.io/feed.xml</id><title type="html">Baruch Assif | SELECT * FROM DUAL</title><subtitle>personal blog</subtitle><author><name>Baruch Assif (Osoveskiy)</name></author><entry><title type="html">בינה מלאכותית לילדים</title><link href="https://barucho.github.io/posts/ai/aiforkids/" rel="alternate" type="text/html" title="בינה מלאכותית לילדים" /><published>2018-01-07T00:00:00+02:00</published><updated>2018-01-07T00:00:00+02:00</updated><id>https://barucho.github.io/posts/ai/AI-for-kids</id><content type="html" xml:base="https://barucho.github.io/posts/ai/aiforkids/"><![CDATA[<div dir="rtl">

<div class="links-container">
  <div class="links-header">
    <h1>🤖 בינה מלאכותית לילדים</h1>
    <p>לינקים שימושיים לכיתה שלנו</p>
  </div>


<div class="link-category">
    <h2 class="link-category-title">ענן מילים</h2>

    <a href="https://www.menti.com/ald89yfs3uev" class="link-card primary" target="_blank">
      <span class="link-card-icon">☁️</span>
      <div class="link-card-title">Teachable Machine</div>
      <div class="link-card-description">נכתוב מה זה בינה מלאכותית בישבילנו</div>
    </a>

  </div>



  <div class="link-category">
    <h2 class="link-category-title">כלים ומשחקים</h2>
    
    <a href="https://teachablemachine.withgoogle.com/" class="link-card primary" target="_blank">
      <span class="link-card-icon">🎓</span>
      <div class="link-card-title">Teachable Machine</div>
      <div class="link-card-description">למד את המחשב לזהות תמונות, קולות ותנועות</div>
    </a>

    <a href="https://quickdraw.withgoogle.com/" class="link-card warning" target="_blank">
      <span class="link-card-icon">✏️</span>
      <div class="link-card-title">Quick, Draw!</div>
      <div class="link-card-description">משחק ציור עם בינה מלאכותית</div>
    </a>

    <a href="https://jenny.mokamio.people.aws.dev/" class="link-card warning" target="_blank">
      <span class="link-card-icon">✏️</span>
      <div class="link-card-title">Jenny</div>
      <div class="link-card-description">🧞‍♂️ נכתוב סיפור עם גיני</div>
    </a>

    <a href="https://experiments.withgoogle.com/collection/ai" class="link-card success" target="_blank">
      <span class="link-card-icon">🔬</span>
      <div class="link-card-title">Google AI Experiments</div>
      <div class="link-card-description">ניסויים מגניבים עם בינה מלאכותית</div>
    </a>
</div>

  <div class="link-category">
    <h2 class="link-category-title">למידה ותכנות</h2>
    
    <a href="https://scratch.mit.edu/" class="link-card primary" target="_blank">
      <span class="link-card-icon">🎮</span>
      <div class="link-card-title">Scratch</div>
      <div class="link-card-description">תכנות חזותי לילדים</div>
    </a>

    <a href="https://code.org/ai" class="link-card success" target="_blank">
      <span class="link-card-icon">💻</span>
      <div class="link-card-title">Code.org - AI</div>
      <div class="link-card-description">קורסים בבינה מלאכותית לילדים</div>
    </a>
  </div>

  <div class="link-category">
    <h2 class="link-category-title">משאבים נוספים</h2>
    
    <a href="https://www.youtube.com/results?search_query=AI+for+kids" class="link-card" target="_blank">
      <span class="link-card-icon">📺</span>
      <div class="link-card-title">סרטוני YouTube</div>
      <div class="link-card-description">סרטונים חינוכיים על בינה מלאכותית</div>
    </a>
  </div>
</div>




</div>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="AI" /><category term="tutorial" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">MySQL InnoDB Cluster</title><link href="https://barucho.github.io/posts/mysql/innodbcluster/" rel="alternate" type="text/html" title="MySQL InnoDB Cluster" /><published>2018-01-07T00:00:00+02:00</published><updated>2018-01-07T00:00:00+02:00</updated><id>https://barucho.github.io/posts/mysql/MySQL-InnoDB-Cluster</id><content type="html" xml:base="https://barucho.github.io/posts/mysql/innodbcluster/"><![CDATA[<h1 id="this-post-is-about-mysql-innodb-cluser--not-mysql-cluser-ndb">This Post is about MySQL InnoDB Cluser  (not MySQL Cluser NDB)</h1>

<p>MySQL InnoDB Cluser is based on MySQL group replication and by Joining at least three servers ensures a high availability cluster.</p>

<p>So How its works ?</p>

<p>MySQL InnoDB cluster is a collection of products that work together to provide a complete High Availability solution for MySQL. A group of MySQL servers can be configured to create a cluster using MySQL Shell. In the default single-primary mode, the cluster of servers has a single read-write primary. Multiple secondary servers are replicas of the primary. Creating a cluster with at least three servers ensures a high availability cluster. A client application is connected to the primary via MySQL Router. If the primary fails, a secondary is automatically promoted to the role of primary, and MySQL Router routes requests to the new primary. Advanced users can also configure a cluster to have multiple-primaries.</p>

<p><strong>befor we bagin</strong></p>

<ul>
  <li>use MySQL 5.7.19+</li>
  <li>we need a minimum of 3 nodes to prevent <a href="https://en.wikipedia.org/wiki/Split-brain_(computing)">Split-brain</a></li>
  <li>we will need the group_replication plugin to see if you the the plugin installed :</li>
</ul>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SHOW</span> <span class="n">PLUGINS</span><span class="p">;</span>
<span class="o">|</span> <span class="n">group_replication</span>          <span class="o">|</span> <span class="n">ACTIVE</span>   <span class="o">|</span> <span class="k">GROUP</span> <span class="n">REPLICATION</span>  <span class="o">|</span> <span class="n">group_replication</span><span class="p">.</span><span class="n">so</span> <span class="o">|</span> <span class="n">GPL</span>     <span class="o">|</span>

</code></pre></div></div>

<ul class="language-sql">
  <li>to install</li>
</ul>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">INSTALL</span> <span class="n">PLUGIN</span> <span class="n">group_replication</span> <span class="n">SONAME</span> <span class="s1">'group_replication.so'</span><span class="p">;</span>
</code></pre></div></div>

<p class="language-sql"><strong>lets configure 3 nodes one master …</strong>
i will created the 3 nodes on the same machine by using diffrent data dir and port numbers</p>

<p><strong>first create directories</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> /u01/data/mysql_group1/<span class="o">{</span>1,2,3<span class="o">}</span>
<span class="nb">mkdir</span> <span class="nt">-p</span> /u01/etc/<span class="o">{</span>1,2,3<span class="o">}</span>
</code></pre></div></div>

<p><strong>initialize mysql metadata</strong>
the <em>–initialize-insecure</em> flage will create root user witout passowrd.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysqld <span class="nt">--initialize-insecure</span>  <span class="nt">--datadir</span><span class="o">=</span>/u01/data/mysql_group1/1
mysqld <span class="nt">--initialize-insecure</span>  <span class="nt">--datadir</span><span class="o">=</span>/u01/data/mysql_group1/2
mysqld <span class="nt">--initialize-insecure</span>  <span class="nt">--datadir</span><span class="o">=</span>/u01/data/mysql_group1/3
</code></pre></div></div>

<p><strong>the my.cnf for all 3 nodes</strong>
create the relevnt config file in /u01/etc/{1,2,3}</p>

<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">####mysql1
</span>[<span class="n">mysqld</span>]

<span class="c"># server configuration
</span><span class="n">datadir</span>=/<span class="n">u01</span>/<span class="n">data</span>/<span class="n">mysql_group1</span>/<span class="m">1</span>

<span class="n">port</span>=<span class="m">24801</span>
<span class="n">socket</span>=/<span class="n">u01</span>/<span class="n">data</span>/<span class="n">mysql_group1</span>/<span class="m">1</span>/<span class="n">s1</span>.<span class="n">sock</span>
<span class="c">## REPLICATION
</span><span class="n">server_id</span>=<span class="m">1</span>
<span class="n">gtid_mode</span>=<span class="n">ON</span>
<span class="n">enforce_gtid_consistency</span>=<span class="n">ON</span>
<span class="n">master_info_repository</span>=<span class="n">TABLE</span>
<span class="n">relay_log_info_repository</span>=<span class="n">TABLE</span>
<span class="n">binlog_checksum</span>=<span class="n">NONE</span>
<span class="n">log_slave_updates</span>=<span class="n">ON</span>
<span class="n">log_bin</span>=<span class="n">binlog</span>
<span class="n">binlog_format</span>=<span class="n">ROW</span>
<span class="c">## group REPLICATION
</span><span class="n">transaction_write_set_extraction</span>=<span class="n">XXHASH64</span>
<span class="n">loose</span>-<span class="n">group_replication_group_name</span>=<span class="s2">"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"</span>
<span class="n">loose</span>-<span class="n">group_replication_start_on_boot</span>=<span class="n">off</span>
<span class="n">loose</span>-<span class="n">group_replication_local_address</span>= <span class="s2">"127.0.0.1:24901"</span>
<span class="n">loose</span>-<span class="n">group_replication_group_seeds</span>= <span class="s2">"127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"</span>
<span class="n">loose</span>-<span class="n">group_replication_bootstrap_group</span>= <span class="n">off</span>
<span class="n">loose</span>-<span class="n">group_replication_single_primary_mode</span>=<span class="n">FALSE</span>
<span class="n">loose</span>-<span class="n">group_replication_enforce_update_everywhere_checks</span>= <span class="n">TRUE</span>

</code></pre></div></div>

<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">######mysql2
</span>[<span class="n">mysqld</span>]

<span class="c"># server configuration
</span><span class="n">datadir</span>=/<span class="n">u01</span>/<span class="n">data</span>/<span class="n">mysql_group1</span>/<span class="m">2</span>

<span class="n">port</span>=<span class="m">24802</span>
<span class="n">socket</span>=/<span class="n">u01</span>/<span class="n">data</span>/<span class="n">mysql_group1</span>/<span class="m">2</span>/<span class="n">s2</span>.<span class="n">sock</span>
<span class="c">## REPLICATION
</span><span class="n">server_id</span>=<span class="m">2</span>
<span class="n">gtid_mode</span>=<span class="n">ON</span>
<span class="n">enforce_gtid_consistency</span>=<span class="n">ON</span>
<span class="n">master_info_repository</span>=<span class="n">TABLE</span>
<span class="n">relay_log_info_repository</span>=<span class="n">TABLE</span>
<span class="n">binlog_checksum</span>=<span class="n">NONE</span>
<span class="n">log_slave_updates</span>=<span class="n">ON</span>
<span class="n">log_bin</span>=<span class="n">binlog</span>
<span class="n">binlog_format</span>=<span class="n">ROW</span>
<span class="c">## group REPLICATION
</span><span class="n">transaction_write_set_extraction</span>=<span class="n">XXHASH64</span>
<span class="n">loose</span>-<span class="n">group_replication_group_name</span>=<span class="s2">"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"</span>
<span class="n">loose</span>-<span class="n">group_replication_start_on_boot</span>=<span class="n">off</span>
<span class="n">loose</span>-<span class="n">group_replication_local_address</span>= <span class="s2">"127.0.0.1:24902"</span>
<span class="n">loose</span>-<span class="n">group_replication_group_seeds</span>= <span class="s2">"127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"</span>
<span class="n">loose</span>-<span class="n">group_replication_bootstrap_group</span>= <span class="n">off</span>
<span class="n">loose</span>-<span class="n">group_replication_single_primary_mode</span>=<span class="n">FALSE</span>
<span class="n">loose</span>-<span class="n">group_replication_enforce_update_everywhere_checks</span>= <span class="n">TRUE</span>


</code></pre></div></div>

<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">####mysql3
</span>[<span class="n">mysqld</span>]

<span class="c"># server configuration
</span><span class="n">datadir</span>=/<span class="n">u01</span>/<span class="n">data</span>/<span class="n">mysql_group1</span>/<span class="m">3</span>

<span class="n">port</span>=<span class="m">24803</span>
<span class="n">socket</span>=/<span class="n">u01</span>/<span class="n">data</span>/<span class="n">mysql_group1</span>/<span class="m">3</span>/<span class="n">s3</span>.<span class="n">sock</span>
<span class="c">## REPLICATION
</span><span class="n">server_id</span>=<span class="m">3</span>
<span class="n">gtid_mode</span>=<span class="n">ON</span>
<span class="n">enforce_gtid_consistency</span>=<span class="n">ON</span>
<span class="n">master_info_repository</span>=<span class="n">TABLE</span>
<span class="n">relay_log_info_repository</span>=<span class="n">TABLE</span>
<span class="n">binlog_checksum</span>=<span class="n">NONE</span>
<span class="n">log_slave_updates</span>=<span class="n">ON</span>
<span class="n">log_bin</span>=<span class="n">binlog</span>
<span class="n">binlog_format</span>=<span class="n">ROW</span>
<span class="c">## group REPLICATION
</span><span class="n">transaction_write_set_extraction</span>=<span class="n">XXHASH64</span>
<span class="n">loose</span>-<span class="n">group_replication_group_name</span>=<span class="s2">"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"</span>
<span class="n">loose</span>-<span class="n">group_replication_start_on_boot</span>=<span class="n">off</span>
<span class="n">loose</span>-<span class="n">group_replication_local_address</span>= <span class="s2">"127.0.0.1:24903"</span>
<span class="n">loose</span>-<span class="n">group_replication_group_seeds</span>= <span class="s2">"127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"</span>
<span class="n">loose</span>-<span class="n">group_replication_bootstrap_group</span>= <span class="n">off</span>
<span class="n">loose</span>-<span class="n">group_replication_single_primary_mode</span>=<span class="n">FALSE</span>
<span class="n">loose</span>-<span class="n">group_replication_enforce_update_everywhere_checks</span>= <span class="n">TRUE</span>
</code></pre></div></div>

<p><strong>start node 1</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysqld <span class="nt">--defaults-file</span><span class="o">=</span>/u01/data/mysql_group1/1/my.cnf
</code></pre></div></div>

<p><strong>create replication user</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysql <span class="nt">-u</span> root <span class="nt">-p</span> <span class="nt">--port</span> 24801 <span class="nt">--protocol</span><span class="o">=</span>tcp

</code></pre></div></div>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SET</span> <span class="n">SQL_LOG_BIN</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">CREATE</span> <span class="k">USER</span> <span class="n">rpl_user</span><span class="o">@</span><span class="s1">'%'</span><span class="p">;</span>
<span class="k">GRANT</span> <span class="n">REPLICATION</span> <span class="n">SLAVE</span> <span class="k">ON</span> <span class="o">*</span><span class="p">.</span><span class="o">*</span> <span class="k">TO</span> <span class="n">rpl_user</span><span class="o">@</span><span class="s1">'%'</span> <span class="n">IDENTIFIED</span> <span class="k">BY</span> <span class="s1">'rpl_pass'</span><span class="p">;</span>
<span class="n">FLUSH</span> <span class="k">PRIVILEGES</span><span class="p">;</span>
<span class="k">SET</span> <span class="n">SQL_LOG_BIN</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span>
<span class="n">CHANGE</span> <span class="n">MASTER</span> <span class="k">TO</span> <span class="n">MASTER_USER</span><span class="o">=</span><span class="s1">'rpl_user'</span><span class="p">,</span> <span class="n">MASTER_PASSWORD</span><span class="o">=</span><span class="s1">'rpl_pass'</span> <span class="k">FOR</span> <span class="n">CHANNEL</span> <span class="s1">'group_replication_recovery'</span><span class="p">;</span>
</code></pre></div></div>

<p><strong>bootstrap the group replication:</strong></p>
<ul>
  <li>this need to be run only! on the first node!!</li>
</ul>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysql <span class="nt">-u</span> root <span class="nt">-p</span> <span class="nt">--port</span> 24801 <span class="nt">--protocol</span><span class="o">=</span>tcp

</code></pre></div></div>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SET</span> <span class="k">GLOBAL</span> <span class="n">group_replication_bootstrap_group</span><span class="o">=</span><span class="k">ON</span><span class="p">;</span>
<span class="k">START</span> <span class="n">GROUP_REPLICATION</span><span class="p">;</span>
<span class="k">SET</span> <span class="k">GLOBAL</span> <span class="n">group_replication_bootstrap_group</span><span class="o">=</span><span class="k">OFF</span><span class="p">;</span>
</code></pre></div></div>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">performance_schema</span><span class="p">.</span><span class="n">replication_group_members</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------------------+--------------------------------------+-------------+-------------+--------------+</span>
<span class="o">|</span> <span class="n">CHANNEL_NAME</span>              <span class="o">|</span> <span class="n">MEMBER_ID</span>                            <span class="o">|</span> <span class="n">MEMBER_HOST</span> <span class="o">|</span> <span class="n">MEMBER_PORT</span> <span class="o">|</span> <span class="n">MEMBER_STATE</span> <span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+--------------------------------------+-------------+-------------+--------------+</span>
<span class="o">|</span> <span class="n">group_replication_applier</span> <span class="o">|</span> <span class="mi">1</span><span class="n">ce52f01</span><span class="o">-</span><span class="n">e615</span><span class="o">-</span><span class="mi">11</span><span class="n">e6</span><span class="o">-</span><span class="mi">9335</span><span class="o">-</span><span class="mi">080027</span><span class="n">ad34e3</span> <span class="o">|</span> <span class="n">host72</span>      <span class="o">|</span>       <span class="mi">24801</span> <span class="o">|</span> <span class="n">ONLINE</span>       <span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+--------------------------------------+-------------+-------------+--------------+</span>
<span class="mi">1</span> <span class="k">row</span> <span class="k">in</span> <span class="k">set</span> <span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">00</span> <span class="n">sec</span><span class="p">)</span>

</code></pre></div></div>

<p><strong>Adding a Second Server</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysqld <span class="nt">--defaults-file</span><span class="o">=</span>/u01/data/mysql_group1/2/my.cnf &amp;

mysql <span class="nt">-u</span> root <span class="nt">-p</span> <span class="nt">--port</span> 24802 <span class="nt">--protocol</span><span class="o">=</span>tcp
</code></pre></div></div>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SET</span> <span class="n">SQL_LOG_BIN</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">CREATE</span> <span class="k">USER</span> <span class="n">rpl_user</span><span class="o">@</span><span class="s1">'%'</span><span class="p">;</span>
<span class="k">GRANT</span> <span class="n">REPLICATION</span> <span class="n">SLAVE</span> <span class="k">ON</span> <span class="o">*</span><span class="p">.</span><span class="o">*</span> <span class="k">TO</span> <span class="n">rpl_user</span><span class="o">@</span><span class="s1">'%'</span> <span class="n">IDENTIFIED</span> <span class="k">BY</span> <span class="s1">'rpl_pass'</span><span class="p">;</span>
<span class="n">FLUSH</span> <span class="k">PRIVILEGES</span><span class="p">;</span>
<span class="k">SET</span> <span class="n">SQL_LOG_BIN</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span>
<span class="n">CHANGE</span> <span class="n">MASTER</span> <span class="k">TO</span> <span class="n">MASTER_USER</span><span class="o">=</span><span class="s1">'rpl_user'</span><span class="p">,</span> <span class="n">MASTER_PASSWORD</span><span class="o">=</span><span class="s1">'rpl_pass'</span> <span class="k">FOR</span> <span class="n">CHANNEL</span> <span class="s1">'group_replication_recovery'</span><span class="p">;</span>
</code></pre></div></div>

<p><strong>Adding a third Server</strong></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysqld <span class="nt">--defaults-file</span><span class="o">=</span>/u01/data/mysql_group1/3/my.cnf &amp;

mysql <span class="nt">-u</span> root <span class="nt">-p</span> <span class="nt">--port</span> 24803 <span class="nt">--protocol</span><span class="o">=</span>tcp
</code></pre></div></div>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SET</span> <span class="n">SQL_LOG_BIN</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">CREATE</span> <span class="k">USER</span> <span class="n">rpl_user</span><span class="o">@</span><span class="s1">'%'</span><span class="p">;</span>
<span class="k">GRANT</span> <span class="n">REPLICATION</span> <span class="n">SLAVE</span> <span class="k">ON</span> <span class="o">*</span><span class="p">.</span><span class="o">*</span> <span class="k">TO</span> <span class="n">rpl_user</span><span class="o">@</span><span class="s1">'%'</span> <span class="n">IDENTIFIED</span> <span class="k">BY</span> <span class="s1">'rpl_pass'</span><span class="p">;</span>
<span class="n">FLUSH</span> <span class="k">PRIVILEGES</span><span class="p">;</span>
<span class="k">SET</span> <span class="n">SQL_LOG_BIN</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span>
<span class="n">CHANGE</span> <span class="n">MASTER</span> <span class="k">TO</span> <span class="n">MASTER_USER</span><span class="o">=</span><span class="s1">'rpl_user'</span><span class="p">,</span> <span class="n">MASTER_PASSWORD</span><span class="o">=</span><span class="s1">'rpl_pass'</span> <span class="k">FOR</span> <span class="n">CHANNEL</span> <span class="s1">'group_replication_recovery'</span><span class="p">;</span>
</code></pre></div></div>

<p><strong><em>have fun</em></strong></p>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="mysql" /><category term="innodbcluster" /><category term="tutorial" /><summary type="html"><![CDATA[This Post is about MySQL InnoDB Cluser (not MySQL Cluser NDB)]]></summary></entry><entry><title type="html">Blog Post number 4</title><link href="https://barucho.github.io/posts/2012/08/blog-post-4/" rel="alternate" type="text/html" title="Blog Post number 4" /><published>2015-08-14T00:00:00+03:00</published><updated>2015-08-14T00:00:00+03:00</updated><id>https://barucho.github.io/posts/2012/08/blog-post-4</id><content type="html" xml:base="https://barucho.github.io/posts/2012/08/blog-post-4/"><![CDATA[<p>This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.</p>

<h1 id="headings-are-cool">Headings are cool</h1>

<h1 id="you-can-have-many-headings">You can have many headings</h1>

<h2 id="arent-headings-cool">Aren’t headings cool?</h2>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="cool posts" /><category term="category1" /><category term="category2" /><summary type="html"><![CDATA[This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.]]></summary></entry><entry><title type="html">Blog Post number 3</title><link href="https://barucho.github.io/posts/2014/08/blog-post-3/" rel="alternate" type="text/html" title="Blog Post number 3" /><published>2014-08-14T00:00:00+03:00</published><updated>2014-08-14T00:00:00+03:00</updated><id>https://barucho.github.io/posts/2014/08/blog-post-3</id><content type="html" xml:base="https://barucho.github.io/posts/2014/08/blog-post-3/"><![CDATA[<p>This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.</p>

<h1 id="headings-are-cool">Headings are cool</h1>

<h1 id="you-can-have-many-headings">You can have many headings</h1>

<h2 id="arent-headings-cool">Aren’t headings cool?</h2>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="cool posts" /><category term="category1" /><category term="category2" /><summary type="html"><![CDATA[This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.]]></summary></entry><entry><title type="html">Blog Post number 2</title><link href="https://barucho.github.io/posts/2013/08/blog-post-2/" rel="alternate" type="text/html" title="Blog Post number 2" /><published>2013-08-14T00:00:00+03:00</published><updated>2013-08-14T00:00:00+03:00</updated><id>https://barucho.github.io/posts/2013/08/blog-post-2</id><content type="html" xml:base="https://barucho.github.io/posts/2013/08/blog-post-2/"><![CDATA[<p>This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.</p>

<h1 id="headings-are-cool">Headings are cool</h1>

<h1 id="you-can-have-many-headings">You can have many headings</h1>

<h2 id="arent-headings-cool">Aren’t headings cool?</h2>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="cool posts" /><category term="category1" /><category term="category2" /><summary type="html"><![CDATA[This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.]]></summary></entry><entry><title type="html">Blog Post number 1</title><link href="https://barucho.github.io/posts/2012/08/blog-post-1/" rel="alternate" type="text/html" title="Blog Post number 1" /><published>2012-08-14T00:00:00+03:00</published><updated>2012-08-14T00:00:00+03:00</updated><id>https://barucho.github.io/posts/2012/08/blog-post-1</id><content type="html" xml:base="https://barucho.github.io/posts/2012/08/blog-post-1/"><![CDATA[<p>This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.</p>

<h1 id="headings-are-cool">Headings are cool</h1>

<h1 id="you-can-have-many-headings">You can have many headings</h1>

<h2 id="arent-headings-cool">Aren’t headings cool?</h2>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="cool posts" /><category term="category1" /><category term="category2" /><summary type="html"><![CDATA[This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.]]></summary></entry><entry><title type="html">test blog page</title><link href="https://barucho.github.io/posts/test/" rel="alternate" type="text/html" title="test blog page" /><published>2012-08-14T00:00:00+03:00</published><updated>2012-08-14T00:00:00+03:00</updated><id>https://barucho.github.io/posts/blog-post-test1</id><content type="html" xml:base="https://barucho.github.io/posts/test/"><![CDATA[<p>This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.</p>

<h1 id="headings-are-cool">Headings are cool</h1>

<h1 id="you-can-have-many-headings">You can have many headings</h1>

<pre>
select * from table
</pre>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">select</span> <span class="o">*</span> <span class="k">from</span> <span class="k">table</span><span class="p">;</span>
<span class="k">SELECT</span> <span class="o">*</span> <span class="k">from</span> <span class="k">TABLE</span><span class="p">;</span>
</code></pre></div></div>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">lambda_handler</span><span class="p">(</span><span class="n">event</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
    <span class="k">print</span><span class="p">(</span><span class="s">"START..."</span><span class="p">)</span>
    <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="k">for</span> <span class="n">record</span> <span class="ow">in</span> <span class="n">event</span><span class="p">[</span><span class="s">'Records'</span><span class="p">]:</span>
        <span class="c1">#id = record['eventID']
</span>        <span class="n">timestamp</span> <span class="o">=</span> <span class="n">record</span><span class="p">[</span><span class="s">'kinesis'</span><span class="p">][</span><span class="s">'approximateArrivalTimestamp'</span><span class="p">]</span>
        <span class="c1"># Kinesis data is base64-encoded, so decode here
</span>        <span class="n">message</span> <span class="o">=</span> <span class="n">base64</span><span class="p">.</span><span class="n">b64decode</span><span class="p">(</span><span class="n">record</span><span class="p">[</span><span class="s">'kinesis'</span><span class="p">][</span><span class="s">'data'</span><span class="p">])</span>
        <span class="n">message_json</span> <span class="o">=</span> <span class="n">json</span><span class="p">.</span><span class="n">loads</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
        <span class="k">print</span><span class="p">(</span><span class="s">"message"</span><span class="p">,</span><span class="n">message_json</span><span class="p">)</span>
        <span class="c1"># get ops type
</span>        <span class="n">op_type</span> <span class="o">=</span> <span class="n">message_json</span><span class="p">[</span><span class="s">'type'</span><span class="p">]</span>
        <span class="c1"># build data 
</span>        <span class="k">if</span> <span class="n">op_type</span> <span class="o">==</span> <span class="p">(</span><span class="s">'WriteRowsEvent'</span><span class="p">):</span>
            <span class="k">if</span> <span class="n">message_json</span><span class="p">[</span><span class="s">'table'</span><span class="p">]</span> <span class="o">==</span> <span class="p">(</span><span class="s">'user'</span><span class="p">):</span>
                <span class="n">_id</span> <span class="o">=</span>  <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'user_id'</span><span class="p">])</span>
                <span class="n">_name</span> <span class="o">=</span>   <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'u_name'</span><span class="p">])</span>
                <span class="n">_text</span> <span class="o">=</span> <span class="bp">None</span>
                <span class="n">label</span> <span class="o">=</span> <span class="s">'user'</span>
            <span class="k">elif</span> <span class="n">message_json</span><span class="p">[</span><span class="s">'table'</span><span class="p">]</span> <span class="o">==</span> <span class="p">(</span><span class="s">'post'</span><span class="p">):</span>
                <span class="n">_id</span> <span class="o">=</span>  <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'post_id'</span><span class="p">])</span>
                <span class="n">_name</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'p_name'</span><span class="p">])</span>
                <span class="n">_text</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'p_text'</span><span class="p">])</span>
                <span class="n">label</span> <span class="o">=</span> <span class="s">'post'</span>
            <span class="k">elif</span> <span class="n">message_json</span><span class="p">[</span><span class="s">'table'</span><span class="p">]</span> <span class="o">==</span> <span class="p">(</span><span class="s">'route'</span><span class="p">):</span>
               <span class="n">_post_id</span> <span class="o">=</span>  <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'post_id'</span><span class="p">])</span>
               <span class="n">_user_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'user_id'</span><span class="p">])</span>
               <span class="n">_status</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">message_json</span><span class="p">[</span><span class="s">'row'</span><span class="p">][</span><span class="s">'values'</span><span class="p">][</span><span class="s">'status_id'</span><span class="p">])</span>
               <span class="n">label</span> <span class="o">=</span> <span class="s">'route'</span>
            <span class="c1">## create the relent object in neptune 
</span>            <span class="n">lbl</span> <span class="o">=</span> <span class="n">T</span><span class="p">.</span><span class="n">label</span>
            <span class="nb">id</span> <span class="o">=</span> <span class="n">T</span><span class="p">.</span><span class="nb">id</span>
            <span class="n">single</span> <span class="o">=</span> <span class="n">Cardinality</span><span class="p">.</span><span class="n">single</span>
            <span class="c1"># sending data to neptune
</span>            <span class="k">if</span> <span class="n">label</span> <span class="o">==</span> <span class="s">'route'</span><span class="p">:</span>
                <span class="c1">#gremlin_status = g.addV().property(id, _post_id).property('user_name', _name).property(lbl, label).next()
</span>                <span class="k">print</span><span class="p">(</span><span class="s">"route"</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">_id</span> <span class="o">=</span> <span class="n">label</span><span class="o">+</span><span class="s">"_"</span> <span class="o">+</span><span class="n">_id</span>
                <span class="n">gremlin_status</span> <span class="o">=</span> <span class="n">g</span><span class="p">.</span><span class="n">addV</span><span class="p">().</span><span class="nb">property</span><span class="p">(</span><span class="nb">id</span><span class="p">,</span> <span class="n">_id</span><span class="p">).</span><span class="nb">property</span><span class="p">(</span><span class="s">'user_name'</span><span class="p">,</span> <span class="n">_name</span><span class="p">).</span><span class="nb">property</span><span class="p">(</span><span class="n">lbl</span><span class="p">,</span> <span class="n">label</span><span class="p">).</span><span class="nb">next</span><span class="p">()</span>
            
            <span class="k">print</span><span class="p">(</span><span class="s">"debug: data"</span><span class="p">,</span><span class="n">_id</span><span class="p">,</span><span class="n">_name</span><span class="p">,</span><span class="n">label</span><span class="p">)</span>
            <span class="k">print</span><span class="p">(</span><span class="s">"gremlin_status:"</span><span class="p">,</span><span class="n">gremlin_status</span><span class="p">)</span>
            <span class="k">print</span><span class="p">(</span><span class="s">"END"</span><span class="p">)</span>
    <span class="k">return</span> <span class="s">'Processed '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">count</span><span class="p">)</span> <span class="o">+</span> <span class="s">' items.'</span>

</code></pre></div></div>

<h2 id="arent-headings-cool">Aren’t headings cool?</h2>]]></content><author><name>Baruch Assif (Osoveskiy)</name></author><category term="test" /><summary type="html"><![CDATA[This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.]]></summary></entry></feed>