Skip to content

PHPUGHH130611 - composer introduction and MySql Database Clustering

Where

Mindworks Jarrestraße 42A Hamburg

InnoGames Game Jam - By Frank Sons

  • 48 hours to develop a game
  • Can work alone or in pair
  • Free food and drinks
  • From 21 June to 23

Game Jam

So Coded - A Web Conference In Hamburg - By Ole Michaelis

  • A lot of cities currently have conference
  • Hamburg also should have one
  • A lot of speakers from hamburg (and germany also ;-))
  • Its not only for java script or php guys
  • 19 - 20 of September 2013

so coded

Introduction To Composer - By Till Klampäckel

Composer - What is it?

  • Dependency management
  • Helps to keep components as components (with a maintainer)
  • Breaking up dependencies for development (and what is needed for production system)
  • Deployment tool
  • Update your dependencies
  • Generates autoloading

Composoring Your Code

Simple Example For composer.json


{
    "name": "net_bazzline/example-library",
    "licenses": "GPLv3"
}

Releases


git tag -a 1.0.0 -m "My first release"

Consuming - Using A Library (By Using Packagist And Git)


{
    "name": "artodeto/my-application",
    "repositories":
    [
        {
            "type": "vcs",
            "url": "https://github.com/stevleibelt/php_net_component_converter"
        },
        {
            "type": "package",
            "package": {
                "name": "company/legacy-code",
                "version": "1.2.3",
                "dist": {
                    "url": "https://dev.mycompa.ny/code.tar",
                    "type": "tar"
                }
            }
        }
    ],
    "require": {
        "net_bazzline/example-library": "*"
    }
}

Install


sudo su
mkdir -p /usr/local/bin/composer/
cd /usr/local/bin/composer/
curl -sS https://getcomposer.org/installer | php

Deployment - Things That Can Go Wrong

  • Github is down
  • Minimum stability or prefer stable (use dev or oder stability)
  • Versioning is hard (require a special version like 1.2.*)

Links

Easybib.com
Imagineeasy.com
Versioneye.com
Packagist.org
Satis
Semver

Others

  • Something similar to composer exists for java script
  • semantic versioning

MySql Database Clustering - by Ulf Wendel (ulf.wendel@oracle.com)

  • great speaker -> try to get a free presentation :-) Ulf Wendel

Theory

  • Availability
  • Scalability
  • DistributionTransparency

What Kind Of Clusers

  • Transactions (where)
  • Synchronization (when)

Important Keywords

  • Concurrency control
    • Atomic commit
    • Atomic broadcast (virtual synchrony offering total-order delivery)
  • Certification: detect conflict
  • Quorum (better than ROWA - read from one, write to all?)
  • Fault Tolerance
  • Virtual Synchrony
  • Reliable, delivered vs receieved (for example, update transactions should receive the application layer at the same ordering)
  • MySQL DBMS (with a Reflector and Replicator connected via Group Communication System (GCS) - not available so far)
  • MySQL Cluster Replication (hybrid, extends MySQL with a Reflector Plugin (Database engine: NDB Storage Engine and) and Replicator (NDB Data Node and Replicator (NDB Data Node)) with "fire and forget" api
  • Partitioning (auto sharding)
  • Tune your partitions