Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 18 reacties

Twitter heeft voor zijn eigen servers aanpassingen gedaan aan MySQL om de databasesoftware te optimaliseren. De broncode voor deze aanpassingen is nu vrijgegeven, zodat ook andere bedrijven hiervan kunnen profiteren.

MySQL-logoTwitter heeft de code gepubliceerd op GitHub, waar ook een complete changelog terug te vinden is. De code is vrijgegeven onder een bsd-licentie.

De wijzigingen voegen onder andere nieuwe statusvariabelen toe, in het bijzonder voor InnoDB, waardoor het makkelijker moet zijn om de database te beheren. Daarnaast is het geheugengebruik geoptimaliseerd en moet de aangepaste versie van MySQL beter geschikt zijn voor gebruik met ssd's, omdat het aantal schrijfacties teruggebracht is.

De databaseomgeving van Twitter maakt niet alleen gebruik van MySQL. Een deel van de website werkt met Cassandra, een opensource-NoSQL-pakket, dat oorspronkelijk voor Facebook ontwikkeld werd. Aanvankelijk was Twitter van plan om Cassandra voor de hele website te gaan gebruiken, maar uiteindelijk werd besloten om voor een groot deel van de functionaliteit MySQL aan te houden.

Moderatie-faq Wijzig weergave

Reacties (18)

Ik wil niks af doen aan de gift van Twitter, maar het is natuurlijk niet puur uit altruisme gegeven. Ze moeten bijna wel als ze die patches willen kunnen blijven onderhouden. MySQL staat ook niet stil en verandert voortdurend. Twitter moet dus ook voortdurend z'n patches bijhouden. Dat kost geld en als MySQL een of andere incompatibele verandering aanbrengt dan heeft Twitter helemaal een probleem.
Door deze patches te publiceren maakt Twitter het zichzelf makkelijk. Als de patches upstream worden opgenomen dan zal het veel makkelijker worden om ze onderhouden, andere ontwikkelaars gaan er immers rekening mee houden.

Dit is een van de redenen waarom OpenSource zo goed werkt. Iedereen heeft software nodig, maar alles zelf beheren is onmogelijk duur. Door samen te werken en je eigen werk te delen ben je allemaal beter af. Alleen voor bedrijven die leven van de verkoop van doosjes software is het nadelig, maar de rest zou wel gek zijn om alles alleen te doen.
Zijn ze dit niet gewoon verplicht vanwege de licentie van mysql?
Nee, je kunt wijzigingen in MySQL gewoon voor eigen gebruik doorvoeren zonder verplichting om deze te openbaren. Als jij mij jouw aangepaste MySQL geeft, moet je daar wel de broncode (inclusief wijzigingen) bijgeven.

Twitter distribueert MySQL niet, dus is ze hierin niets verplicht.
Kijk daar word ik nou vrolijk van! Gewoon kosteloos je werk delen met anderen zodat die hier ook baat van kunnen hebben. Erg goede zet van Twitter om goed in het nieuws te komen maar ook gewoon erg vriendelijk van ze. :)

Als nou eens wat meer mensen/bedrijven dit zouden doen zou de wereld er een stuk beter van worden. Wat is er nou fijner dan (gratis) kennis delen en (gratis) kennis vergaren! :) (Okť niet te letterlijk nemen ;))

[Reactie gewijzigd door Perkouw op 10 april 2012 09:02]

Goed in het nieuws?
In het nieuws komen is wellicht handig om meer gebruikers te trekken, maar dit soort (goede) nieuws trekt vast geen nieuwe gebruikers aan in de zin "Oh ze geven sourcecode vrij ( :? ), laat ik nu ook maar gaan twitteren".
Zulk nieuws trek twijfelende consumenten wel eerder over de streep dan de vele berichten over Facebook en haar privacy-problemen.
Als ik de gemiddelde burger (lees: doelgroep) vraag wat het woord broncode betekend en in welke context dat geplaatst moet worden verwacht ik voor 95% scheve gezichten.

Op dit soort technische nieuws zit de potentiŽle twitteraar niet te wachten.
Hebben ze ook met Bootstrap gedaan, was eerst een intern project om snel Twitter pagina's op te kunnen zetten. Hebben ze ook vrijgegeven en 't is een verademing voor ontwikkelaars die niet echt goed zijn in pagina's ontwerpen. Makkelijke is dat een designer vervolgens toch nog weer de pagina naar eigen stijl kan aanpassen. Toch blijft 't in dat geval oppassen dat je sites niet teveel op elkaar lijken ;)
Het is inderdaad om vrolijk van te worden :)

Hebben we ook afgelopen week met een Javascript library gedaan.
Even een dagje hacken met het hele bedrijf en eind van de dag hadden we een multi-touch gesture library en die hebben we op Github gezet.

We hebben zelf niet eens promotie gemaakt, werd vanzelf opgepakt en zit nu in top 5 van trending repos van afgelopen maand op GitHub.com.

http://eightmedia.github.com/hammer.js/
Me kennis delen tegen betaling zou ik anders erg fijn vinden :p
dat heet consultancy, you should try it :P
Zoals ik het lees zullen de wijzigingen/toevoegingen niet standaard in MySQL komen. Een bedrijf/gebruiker moet deze dus zelf aanpassen en compileren?
Klopt.
De mensen die hier mogelijk profijt van kunnen hebben, zijn ook geen eenvoudige gebruikers, maar juist high-performance eisende organisaties, die waarschijnlijk toch al bezig waren met het aanbrengen van tweaks aan hun database-server om de performance te verhogen :)
De wijzigingen zijn het gevolg van noodzaak. Bij SSD wil je het aantal schrijfacties laag houden. De gemiddelde hoster gebruikt nog geen SSD voor de MySQL omgeving maar dit begint nu wel te komen. Als kleinere servers straks gaan draaien met bv Vertex 4 SSD's dan zou het maar zo kunnen zijn dat enkele van de aanpassingen toch in MySQL opgenomen gaan worden.
Erg goed, dit zouden meer bedrijven moeten doen. Dit soort handige code gewoon sharen om alles opzich gewoon beter te maken. Uiteraard hoeven ze niet meteen al hun sourcecode vrij te geven, maar een beetje delen met de Opensource Community is nooit verkeerd.
Het hangt er van af als het code is die je de overhand geeft over de concurrentie dan zou je gek zijn als je de aanpassingen deelt met je concurrenten. Aan de andere kant ik weet zeker dat er fouten in de code zullen zitten die Twitter heeft geschreven en dat door het vrijgeven van de code andere deze zullen kunnen helpen vinden en verwijderen en natuurlijk de huidige nieuwe code verder verbeteren en optimaliseren.

Het is grappig om te zien dat niemand die aan cassandra werkt geheel kan of durft over te stappen op deze database. Het lijkt er dan ook sterk op dat de meeste bedrijven die hier aan werken verstandig genoeg zijn om te weten dat elke database een eigen specialiteit heeft en sommige database oplossingen simpel weg beter zijn voor bepaalde taken dan andere. Een mix van database oplossingen is dan ook simpel weg heel erg verstandig in de meeste gevallen al kon je zo af en toe nog wel eens duurder uit zijn (ook met open source wat afhankelijk van de support die je nodig hebt nog een aardig prijs kaartje kan hebben)

Hoe dan ook het is natuurlijk voor de open source gemeenschap wel prettig om dit soort verbeteringen te kunnen bekijken al is het maar omdat je er van kunt leren als je het niet in de main branch kunt gebruiken om welke reden dan ook.
hoe meer hoe beter
Mooi, nu kunnen we allemaal een walvis op het scherm toveren bij overbelasting.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True