Afhankelijk van wat getDB(); doet in het tweede voorbeeld kan dat wel voor heel veel db-connecties zorgen.quote:Op zaterdag 2 juni 2012 01:36 schreef Devv het volgende:
[..]
De tweede methode is in mijn optiek de enige juiste aanpak. De eerste methode zou voor mij al reden voor ontslag zijn.
Wat is dezequote:Op zondag 3 juni 2012 20:40 schreef Quir het volgende:
Een punt opgooien in een SP-topic, Scorpie? Ik dacht dat ieder weldenkend mens het daar wel mee gehad had.
Wat heeft dat met PHP/MySQL te maken?quote:Op zondag 3 juni 2012 20:49 schreef de_boswachter het volgende:
Ik weet niet of ik in dit topic goed zit, maar heb een dummy vraag;
Hoe zet ik op mijn ipad uit dat ik zie wanneer er een mail binnenkomt? Email is gesynchroniseerd met Oulook en elke keer als ik jn Outlook mail krijg dan zie ik dat. Daar wil ik vanaf.
Wie weet precies hoe ik dit uitzet
Het gaat over een iPad, dus iPad deel #33 - Waar we op de iPads van de NRC wachten. lijkt me wel geschiktquote:Op zondag 3 juni 2012 21:10 schreef de_boswachter het volgende:
Geen idee. Ik zag dummy staan.
Waar moet ik dan deze vraag stellen.
Al aan gedacht, hij vult als de DB al bestaat met een nieuwe referentie van de static DB.quote:Op zondag 3 juni 2012 00:12 schreef Boze_Appel het volgende:
[..]
Afhankelijk van wat getDB(); doet in het tweede voorbeeld kan dat wel voor heel veel db-connecties zorgen.
| 1 2 3 4 5 6 7 8 | <?php if(empty(website_Model::$single_db)){ $this->db = new Database($ip,$user,$pass,$db_name, $port); website_Model::$single_db = $this->db; }else{ $this->db = website_Model::$single_db; } ?> |
waarom gebruik je geen singleton patroon?quote:Op maandag 4 juni 2012 02:52 schreef cablegunmaster het volgende:
[..]
Al aan gedacht, hij vult als de DB al bestaat met een nieuwe referentie van de static DB.
[ code verwijderd ]
Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.quote:Op vrijdag 8 juni 2012 11:31 schreef Crutch het volgende:
Heeft de mailfunctie een error handler net zoals sql met mysql_error() ?
De mailfunctie werkt niet en ik vind er niets over terug in de error log.
Dan nog kun je typfouten maken. Een IDE kan je op tikfouten wijzen, en PHP geeft een notice als je een variabele probeert te gebruiken die nog niet geinitialiseerd is. Die notices moet je dus wel aanzetten op je developmentomgeving.quote:Op vrijdag 8 juni 2012 18:58 schreef Devv het volgende:
Dit soort onzin zou je bij een managed framework niet hebben.
En wat dan als je toch een keer besluit dat je met meer dan 1 database wilt verbinden?quote:Op maandag 4 juni 2012 07:51 schreef Pakspul het volgende:
[..]
waarom gebruik je geen singleton patroon?
Bij een managed framework worden typefouten al tijdens designtime afgevangen. De kans op runtime fouten is daardoor stukken minder groot dan bij een scripttaal zoals PHP.quote:
Dan geef je in plaats van een instantie van de db connectie een eigen factory klasse mee die de verschillende verbindingen kan managen.quote:Op zaterdag 9 juni 2012 12:20 schreef Light het volgende:
[..]
En wat dan als je toch een keer besluit dat je met meer dan 1 database wilt verbinden?
Singleton database collection, waar je met een static functie die connectie uit kan halen welke je wil hebben?quote:Op zaterdag 9 juni 2012 12:20 schreef Light het volgende:
[..]
En wat dan als je toch een keer besluit dat je met meer dan 1 database wilt verbinden?
Als je die collectie van buitenaf kunt vullen, ben ik het met je eensquote:Op zaterdag 9 juni 2012 16:43 schreef Pakspul het volgende:
[..]
Singleton database collection, waar je met een static functie die connectie uit kan halen welke je wil hebben?
| 1 2 3 4 5 | $salt = bla $pepper = boe $PWsalted = $pepper+$_post[wachtwoord]+$salt $PWsalted = sha256($PWsalted) //doe iets met pwsalted |
Zo ongeveer, ja. De extra veiligheid krijg je door pepper per user verschillend te laten zijn. Sowieso is het toevoegen van extra informatie al goed, omdat iemand die de password hashes heeft ze dan niet zo makkelijk kan matchen. Er is waarschijnlijk geen rainbow table voor de gesalte passwords. En als die er wel is, heb je daar alsnog niets aan als je ook pepper gebruikt. Dan moet je per user een rainbow table maken, en da's niet aantrekkelijk.quote:Op woensdag 13 juni 2012 11:10 schreef mschol het volgende:
even een vraagje m.b.t. wachtwoorden:
Hoe werkt salt-/peppering?
zelf dacht ik (pseudocode):
[ code verwijderd ]
maar dat lijkt mij net zo onveilig als alleen een los wachtwoord (behalve dat het WW langer is)
Twee keer hashen maakt je systeem eerder onveiliger dan veiliger. De lengte van de eerste hash is bekend en het aantal mogelijkheden is eindig. Dat maakt het makkelijker om het resultaat van de eerste hash te vinden, en die kun je met een rainbow table wel verder kraken.quote:
Ik zie niet wat je hier bedoelt, maar als je voor 2256 'eindig aantal' bekende input-waarden een rainbow-table wilt maken dan wens ik je veel succes. Salt is uiteraard user-dependent.quote:Op woensdag 13 juni 2012 23:59 schreef Light het volgende:
[..]
Twee keer hashen maakt je systeem eerder onveiliger dan veiliger. De lengte van de eerste hash is bekend en het aantal mogelijkheden is eindig. Dat maakt het makkelijker om het resultaat van de eerste hash te vinden, en die kun je met een rainbow table wel verder kraken.
Bijna niemand heeft een wachtwoord van 64 karakters dus in 99% van de gevallen is het veiliger.quote:Op woensdag 13 juni 2012 23:59 schreef Light het volgende:
[..]
Twee keer hashen maakt je systeem eerder onveiliger dan veiliger. De lengte van de eerste hash is bekend en het aantal mogelijkheden is eindig. Dat maakt het makkelijker om het resultaat van de eerste hash te vinden, en die kun je met een rainbow table wel verder kraken.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | SELECT team_id, t_naam, COUNT(*) Gespeeld, SUM( CASE WHEN Uitslag = 'Winst' THEN 3 ELSE 0 END)+SUM( CASE WHEN Uitslag = 'Gelijk' THEN 1 ELSE 0 END ) Punten, SUM( CASE WHEN Uitslag = 'Winst' THEN 1 ELSE 0 END ) Gewonnen, SUM( CASE WHEN Uitslag = 'Gelijk' THEN 1 ELSE 0 END ) Gelijkspel, SUM( CASE WHEN Uitslag = 'Verlies' THEN 1 ELSE 0 END ) Verloren FROM team t left join ( SELECT w_team1 AS tid, CASE WHEN w_score1 > w_score2 THEN 'Winst' WHEN w_score1 < w_score2 THEN 'Verlies' WHEN w_score1 = w_score2 THEN 'Gelijk' END AS Uitslag FROM wedstrijd where (w_score1 is not null and w_score2 is not null) UNION ALL SELECT w_team2 AS tid, CASE WHEN w_score1 > w_score2 THEN 'Winst' WHEN w_score1 < w_score2 THEN 'Verlies' WHEN w_score1 = w_score2 THEN 'Gelijk' END AS Uitslag FROM wedstrijd where (w_score1 is not null and w_score2 is not null) ) A ON t.team_id = A.tid where team_id in (select team_id from competitie c, compindeling ci, klasse k, team t and comp_id = 1 and klasse_id = 3) GROUP BY t_naam order by Punten DESC, Gespeeld ASC; |
| 1 2 | FROM team t JOIN wedstrijd ON(t.team_id=w_team1 OR t.team_id=w_team2) |
| 1 | SUM( CASE WHEN ((t.team_id=w_team1 AND w_score1>w_score2) OR (t.team_id=w_team2 AND w_score2>w_score1) THEN 1 ELSE 0 END ) Gewonnen |
w_id int(11) PKquote:
Welke voordlen zitten daar aan vast, anders dan minder code?quote:Op donderdag 14 juni 2012 15:54 schreef GlowMouse het volgende:
Regel 7-25 kun je ook doen met:
[ code verwijderd ]
In je SELECT krijg je dan dingen als:
[ code verwijderd ]
Hoe bedoel je denormaliseren? Ben ik te ver doorgeslagen?quote:En denormaliseren zou ook wel helpen.
Nee ik heb niet gedenormaliseerd, maar dat geef je wel als tip. Heb ik te ver genormaliseerd?quote:Op donderdag 14 juni 2012 19:22 schreef GlowMouse het volgende:
sneller, leesbaarder
en denormaliseren doe je nu toch juist niet?
Opzich wel een idee ja. Maar dan verlies ik die gegevens weer als een team een volgend seizoen in een andere klasse/competitie speelt. Ik wil dat zo flexibel mogelijk houden, en dus on the fly berekenen. Anders moet je bij elke wedstrijd die gespeeld is de teams ook updaten, in plaats van dat je alleen het wedstrijdrecord bewerkt.quote:Op donderdag 14 juni 2012 19:24 schreef GlowMouse het volgende:
punten, gewonnen, gelijkspel en verloren zou ik in de tabel Team opslaan
Je hebt veel meer nodig dan alleen een gebrekkige PHP-kennis.quote:Op zaterdag 23 juni 2012 21:10 schreef Tauchmeister het volgende:
Ik zou graag een Google News-achtige dienst op mijn website aan willen bieden (dus een selectie met artikelen van andere sites, gesorteerd op onderwerp). Is dit realiseren met gebrekkige PHP-kennis? Ik ben wel bereid om me ervoor erin te verdiepen uiteraard
Daar ging ik al wel vanuit. Het is zo dat ik me de komende tijd naast mijn studie wil gaan richten op een project waar ik zelf veel potentie in zie, maar ik heb me eigenlijk nooit echt verdiept in PHP en me slechts beziggehouden met web design. Ik ben nu aan kijken hoe ik het ga aanpakken en geef natuurlijk het liefst zo weinig mogelijk uit handen, maar ik denk dat mijn PHP-kennis gewoonweg tekortschiet om het echt een succes te laten worden. Ik vraag me af of het zin heeft om er tijd en moeite in te steken of dat ik dat ik bepaalde delen van het scriptwerk beter aan anderen kan overlaten. En dan is het ook nog moeilijk om te bepalen wie daar geschikt voor is. Ik wil namelijk geen prutsersquote:Op zaterdag 23 juni 2012 22:44 schreef Ofyles2 het volgende:
[..]
Je hebt veel meer nodig dan alleen een gebrekkige PHP-kennis.
Ik stel me beschikbaar als je me nodig hebt.
Jitse Groen (Thuisbezorgd.nl) stond ook voor die keus.quote:Op zondag 24 juni 2012 00:09 schreef Tauchmeister het volgende:
[..]
Daar ging ik al wel vanuit. Het is zo dat ik me de komende tijd naast mijn studie wil gaan richten op een project waar ik zelf veel potentie in zie, maar ik heb me eigenlijk nooit echt verdiept in PHP en me slechts beziggehouden met web design. Ik ben nu aan kijken hoe ik het ga aanpakken en geef natuurlijk het liefst zo weinig mogelijk uit handen, maar ik denk dat mijn PHP-kennis gewoonweg tekortschiet om het echt een succes te laten worden. Ik vraag me af of het zin heeft om er tijd en moeite in te steken of dat ik dat ik bepaalde delen van het scriptwerk beter aan anderen kan overlaten. En dan is het ook nog moeilijk om te bepalen wie daar geschikt voor is. Ik wil namelijk geen prutsers
Tja, ik weet dat hij in het begin met iemand samenwerkte, maar daarna voor honderd procent eigenaar is geworden en daar plukt hij nu de vruchten van. Het hangt ook maar net af van je startkapitaal. Ik ben ook nog maar een student, maar heb dankzij eerdere projecten toch wat meer tot mijn beschikking, al moet dat eigenlijk niet van invloed zijn. Ik ga er nog eens goed over nadenken.quote:Op zondag 24 juni 2012 00:32 schreef Ofyles2 het volgende:
[..]
Jitse Groen (Thuisbezorgd.nl) stond ook voor die keus.
Niet dat ik je direct wil beďnvloeden.
Gebruik dan gewoon een fatsoenlijke caching laag, denormaliseren doe je eigenlijk alleen wanneer je daar zeer goede redenen hebt.quote:Op donderdag 14 juni 2012 19:24 schreef GlowMouse het volgende:
punten, gewonnen, gelijkspel en verloren zou ik in de tabel Team opslaan
Denormaliseren is een vorm van caching.quote:Op zondag 24 juni 2012 16:40 schreef raptorix het volgende:
[..]
Gebruik dan gewoon een fatsoenlijke caching laag, denormaliseren doe je eigenlijk alleen wanneer je daar zeer goede redenen hebt.
Als je dat in een aparte database, of desnoods tables doet misschien wel, wij hebben ooit voor hele grote zware sites gedenormaliseerde tables gebruikt om er Hibernate over te kunnen plaatsen, in dit geval is het trouwens ook overkill, je zou die standen prima kunnen ophalen via normale queries, wel leven niet meer in 2000 dat dat een performance probleem zou zijn.quote:Op zondag 24 juni 2012 17:55 schreef GlowMouse het volgende:
[..]
Denormaliseren is een vorm van caching.
Nee, ook in dezelfde database is het caching. De meest efficiënte vorm van caching.quote:Op zondag 24 juni 2012 19:01 schreef raptorix het volgende:
[..]
Als je dat in een aparte database, of desnoods tables doet misschien wel
nee, dat kan niet 'prima'quote:je zou die standen prima kunnen ophalen via normale queries, wel leven niet meer in 2000 dat dat een performance probleem zou zijn.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <html> <head> <script type="text/javascript"> var beta_const = -2.665; var addedVars = 0.885; var probability = Math.exp(beta_const + addedVars); probability = probability/(probability+1); probability = Math.round(probability*100)/100; alert(probability*100); </script> </head> <body> <?php $beta_const = -2.665; $addedVars = 0.885; $probability = exp($beta_const + $addedVars); $probability = $probability/($probability+1); $probability = round($probability,2); echo $probability*100; ?> </body> </html> |
| 1 2 | probability = Math.round(probability*100); alert(probability); |
Dan gebruik je gewoon een kut database omdat normale databases dat zelf wel cachen dan wel optimaliseren, we hebben het hier niet over miljoenen records mag ik aannemen.quote:Op zondag 24 juni 2012 19:20 schreef GlowMouse het volgende:
[..]
Nee, ook in dezelfde database is het caching. De meest efficiënte vorm van caching.
[..]
nee, dat kan niet 'prima'
Het is altijd zo simpel als je door hebt wat je over het hoofd zietquote:Op zondag 24 juni 2012 19:36 schreef Diabox het volgende:
[ code verwijderd ]
What Every Computer Scientist Should Know About Floating-Point Arithmetic
Nopequote:Op zondag 24 juni 2012 19:40 schreef raptorix het volgende:
[..]
Dan gebruik je gewoon een kut database omdat normale databases dat zelf wel cachen dan wel optimaliseren, we hebben het hier niet over miljoenen records mag ik aannemen.
Is wel zonder decimalenquote:Op zondag 24 juni 2012 19:46 schreef BrainOverfloW het volgende:
[..]
Het is altijd zo simpel als je door hebt wat je over het hoofd ziet. Bedankt.
| 1 2 3 4 5 | probability = probability/(probability+1); probability = Math.round(probability*100)/100; probability = probability.toString().split('.'); probability = probability[1] + '.' + probability[0]; alert(probability); |
Heb je het al geprobeerd met een genormaliseerd design en een reeele set testdata?quote:Op zondag 24 juni 2012 19:46 schreef WheeleE het volgende:
[..]
Nope
Ik verwacht honderden. Als het echt succesvol wordt (wat ik niet zo gauw verwacht) misschien duizeden, maar that's it.
Leuk dat er nog over mijn stelling wordt gedebatteerd hier. Ik heb inmiddels een tweede design verzonnen. Een aparte scoretabel (wedstrijdid, teamid, scorevoor, scoretegen, toto) met daarin per wedstrijd 2 records, voor elk team van de wedstrijd 1. Het is wel redundante opslag, maar maakt het volgens mij wel een stuk makkelijker om de standen te bereken.
Ik maak me niet zo'n zorgen over de performance, maar ik krijg de juiste resultaten er niet uit. Mijn querykennis is gewoon ontzettend weggezaktquote:Op zondag 24 juni 2012 19:54 schreef raptorix het volgende:
[..]
Heb je het al geprobeerd met een genormaliseerd design en een reeele set testdata?
Het probleem met denormaliseren is dat wanneer je later dingen wilt uitbreiden je vaak de web inslaat van "sloppy design".
Queries om standen op te bouwen zijn ook lastig, je ontkomt in principe niet aan aggregate queries, en die vind ik zelf ook altijd kutquote:Op zondag 24 juni 2012 19:59 schreef WheeleE het volgende:
[..]
Ik maak me niet zo'n zorgen over de performance, maar ik krijg de juiste resultaten er niet uit. Mijn querykennis is gewoon ontzettend weggezakt![]()
Het initiele ontwerp was netjes genormaliseerd, en met enkele tientalle records testdata. Alleen kreeg ik het niet voor mekaar de complexere overzichten uit te halen. Door een aangepast ontwerp lukt dat hopelijk wel, zonder dat het ten koste gaat van performance.
Heheh, ja dat is hem precies. Ik ben ooit begonnen als beheerder+ontwikkelaar, maar de afgelopen 5/6 jaar heb ik alleen maar beheerwerk gedaan. Joinen lukt nog wel, maar al dat soort berekeningen worden een uitdaging.quote:Op zondag 24 juni 2012 21:26 schreef raptorix het volgende:
[..]
Queries om standen op te bouwen zijn ook lastig, je ontkomt in principe niet aan aggregate queries, en die vind ik zelf ook altijd kut
Zelf heb ik jarenlang behoorlijk complexe queries geschreven (bijvoorbeeld voor de eerste versie van Funda) maar laatst moest ik een simpele join doen, en dat lukte me niet meer uit me hoofd
Dit topic gaat over MySQL, die doet dat niet. Andere db's ken ik niet, maar ik betwist dat die dit wel goed kunnen cachen.quote:Op zondag 24 juni 2012 19:40 schreef raptorix het volgende:
[..]
Dan gebruik je gewoon een kut database omdat normale databases dat zelf wel cachen dan wel optimaliseren, we hebben het hier niet over miljoenen records mag ik aannemen.
Gewoon het aantal recordsquote:Op maandag 25 juni 2012 01:10 schreef Tijn het volgende:
Wat bedoel je met "dat een variabele omhoog gaat"? Is dat een getal? Bedoel je dan niet gewoon het aantal records dat is geregistreerd?
Ik zou zeggen, maak dan een tabel waarin je de unieke IP-adressen opslaat. Dit is de simpelste variant, zonder verdere velden. In een echte applicatie zijn kolommen als een uniek id en een timestamp waarschijnlijk wel handig om toe te voegen, maar niet nodig om alleen maar het aantal keer dat er op een knop is geklikt te tellen.quote:
| 1 2 3 4 | CREATE TABLE IF NOT EXISTS `log` ( `ip` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`ip`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <?php # # KNOPPENTELLER # // verbinden met de database $mysqli = new mysqli("localhost", "username", "password", "database"); // verwerk input if($_SERVER['REQUEST_METHOD'] == 'POST') { // controleer of het meegestuurde ip-adres een geldig adres is if(filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP)) { // probeer het in de database op te slaan if($mysqli->query('INSERT INTO `log` (`ip`) VALUES("'.$_SERVER['REMOTE_ADDR'].'")')) { // gelukt :) $message = 'Bedankt!'; } else { // mislukt :( $message = 'Er is al een keer vanaf dit IP-adres op de knop gedrukt, dus het mag nu niet meer.'; } } } // haal alle logs op $result = $mysqli->query("SELECT * FROM `log`"); ?> <!DOCTYPE html> <html> <head> <title>Knoppenteller</title> </head> <body> <h1>Knoppenteller</h1> <p>Elk uniek IP-adres mag 1 keer op de knop drukken.</p> <p>De knop is tot nu toe <strong><?php echo $result->num_rows; ?></strong> keer ingedrukt.</p> <?php if(isset($message)): ?> <p><strong><?php echo $message; ?></strong></p> <?php else: ?> <form method="post" action=""> <button type="submit">de knop</button> </form> <?php endif; ?> </body> </html> |
Danku zeer!quote:Op maandag 25 juni 2012 02:03 schreef Tijn het volgende:
[..]
Ik zou zeggen, maak dan een tabel waarin je de unieke IP-adressen opslaat. Dit is de simpelste variant, zonder verdere velden. In een echte applicatie zijn kolommen als een uniek id en een timestamp waarschijnlijk wel handig om toe te voegen, maar niet nodig om alleen maar het aantal keer dat er op een knop is geklikt te tellen.
[ code verwijderd ]
Dit is een tabel met alleen een kolom die "ip" heet waarin varchars (strings) van maximaal 45 tekens kunnen worden opgeslagen, wat lang genoeg is om zowel IPv4 als IPv6-adressen op te slaan. Doordat deze kolom ook de primary key is, wordt voorkomen dat er dubbele IP-adressen worden opgeslagen.
Vervolgens zou je zo'n soort pagina kunnen maken:
[ code verwijderd ]
Kheb bij elke PHP-regel een comment gezet met uitleg wat die regel doet. Spreekt voor zich, toch?
Wat betreft de databaseverbinding: PHP biedt 3 manieren om met een MySQL-database te verbinden (klik hier voor meer info). Ik heb hier gebruik gemaakt van mysqli. Je zou ook voor PDO kunnen kiezen.
Mocht je een echte applicatie gaan bouwen dan is het waarschijnlijk een goed idee om te kijken naar een framework (Zend Framework, CakePHP, CodeIgniter om wat populaire voorbeelden te noemen) met een abstractielaag voor databasetoegang, zodat je je hier niet druk om hoeft te maken. Een goed framework is waarschijnlijk de beste manier om op een zo snel mogelijke manier een veilige applicatie te bouwen.
Zitten er allebei ook in.quote:Op maandag 25 juni 2012 02:03 schreef Tijn het volgende:
[..]
Ik zou zeggen, maak dan een tabel waarin je de unieke IP-adressen opslaat. Dit is de simpelste variant, zonder verdere velden. In een echte applicatie zijn kolommen als een uniek id en een timestamp waarschijnlijk wel handig om toe te voegen, maar niet nodig om alleen maar het aantal keer dat er op een knop is geklikt te tellen.
[ code verwijderd ]
Heb je alleen wel Linux 64 bit met 8gig geheugen voor nodig.quote:Op dinsdag 26 juni 2012 13:48 schreef remlof het volgende:
www.memsql.com volledig compatibel met en 30x sneller dan MySQL
Wat kost 8Gb nou nog tegenwoordig?quote:Op dinsdag 26 juni 2012 13:58 schreef Scorpie het volgende:
[..]
Heb je alleen wel Linux 64 bit met 8gig geheugen voor nodig.
Nop, dit is even een afkorting. Al hebben ze wel heel leuk cijfertjes in de naam. Maar heb ik niet bedacht. BAAN (Infor)quote:Op maandag 25 juni 2012 15:04 schreef raptorix het volgende:
Ik mag serieus hopen dat je die tables niet echt zo hebt genoemd?
Niks, binnenkort maar eens een VM maken met dit erop. Kijken hoe het zich verhoudt met mijn newznab instantie met 25 gig aan data.quote:
Leuk voor mensen die MySQL niet kunnen configureren en durability niet waarderen. Ik verwacht binnen niet al te lange tijd wat vernietigende blogposts.quote:Op dinsdag 26 juni 2012 13:48 schreef remlof het volgende:
www.memsql.com volledig compatibel met en 30x sneller dan MySQL
quote:Is this a joke?
Data must fit in RAM, no joins over >2 tables, no transactions, no builtin support for clustering/sharding/horizontal scaling whatsoever.
quote:Is it just me or does this entire product smell like it was designed for the sole purpose of extracting money from less than tech-savvy investors and clueless institutions?
The bullshit-bingo-lingo on their homepage is mindnumbing.
Meanwhile their actual software seems rather underwhelming, bordering on SnakeOil.
Als snelheid belangrijk is voor je commerciële website lijkt MemSQL me wel degelijk het overwegen waard.quote:Op dinsdag 26 juni 2012 14:42 schreef Scorpie het volgende:
En ik maar denken dat we een kek product aangesmeerd kregen. Niks is minder waar.
Bedankt voor niks, remlof.
Ik kan geen site bedenken die hier baat bij heeft.quote:Op dinsdag 26 juni 2012 14:49 schreef remlof het volgende:
[..]
Als snelheid belangrijk is voor je commerciële website lijkt MemSQL me wel degelijk het overwegen waard.
Als je ingewikkelde queries hebt die langer dan 0.1 seconde duren al.quote:Op dinsdag 26 juni 2012 14:52 schreef GlowMouse het volgende:
[..]
Ik kan geen site bedenken die hier baat bij heeft.
quote:Op dinsdag 26 juni 2012 14:54 schreef remlof het volgende:
[..]
Als je ingewikkelde queries hebt die langer dan 0.1 seconde duren al.
quote:no joins over >2 tables
Ingewikkelde queries die meer dan 2 joins bevatten bijvoorbeeld? Die kan memsql niet aan.quote:Op dinsdag 26 juni 2012 14:54 schreef remlof het volgende:
[..]
Als je ingewikkelde queries hebt die langer dan 0.1 seconde duren al.
Die hoor je bij een site al niet te hebben.quote:Op dinsdag 26 juni 2012 14:54 schreef remlof het volgende:
[..]
Als je ingewikkelde queries hebt die langer dan 0.1 seconde duren al.
Ik kende iemand die ook bij zo een bedrijf werkte waar letterlijk alle tables en velden een nummer hadden, liepen ze allemaal met printouts en aantekeningen wat er echt in de velden zatquote:Op dinsdag 26 juni 2012 14:11 schreef Cue_ het volgende:
[..]
Nop, dit is even een afkorting. Al hebben ze wel heel leuk cijfertjes in de naam. Maar heb ik niet bedacht. BAAN (Infor)
Dan kan je beter technieken zoals SOLR gebruiken...quote:Op dinsdag 26 juni 2012 14:49 schreef remlof het volgende:
[..]
Als snelheid belangrijk is voor je commerciële website lijkt MemSQL me wel degelijk het overwegen waard.
Het is echt verschrikkelijk. Gelukkig is nog wat info te halen uit velden als 'cuno' , 'pono' en 'orno' enzo. Maar toch is het lastig om erin te duiken en de tabellen van elkaar te onderscheiden. Maar al doende leert menquote:Op dinsdag 26 juni 2012 17:15 schreef raptorix het volgende:
Ik kende iemand die ook bij zo een bedrijf werkte waar letterlijk alle tables en velden een nummer hadden, liepen ze allemaal met printouts en aantekeningen wat er echt in de velden zat
Sites die MySQL gebruiken, zoals Wikipedia of Fok! zijn toch hartstikke snel?quote:Op dinsdag 26 juni 2012 14:49 schreef remlof het volgende:
[..]
Als snelheid belangrijk is voor je commerciële website lijkt MemSQL me wel degelijk het overwegen waard.
Dat bedrijf waar jij werkt is verschrikkelijk.quote:Op dinsdag 26 juni 2012 17:27 schreef Cue_ het volgende:
[..]
Het is echt verschrikkelijk. Gelukkig is nog wat info te halen uit velden als 'cuno' , 'pono' en 'orno' enzo. Maar toch is het lastig om erin te duiken en de tabellen van elkaar te onderscheiden. Maar al doende leert men
Je db-server door een zoekserver vervangen, goed idee.quote:Op dinsdag 26 juni 2012 17:17 schreef raptorix het volgende:
[..]
Dan kan je beter technieken zoals SOLR gebruiken...
Ja, MySQL is ook in de meeste gevallen wel snel genoeg mits goed geconfigureerd en goeie hardware.quote:Op dinsdag 26 juni 2012 17:56 schreef Tijn het volgende:
[..]
Sites die MySQL gebruiken, zoals Wikipedia of Fok! zijn toch hartstikke snel?
quote:Op dinsdag 26 juni 2012 21:18 schreef remlof het volgende:
[..]
Ja, MySQL is ook in de meeste gevallen wel snel genoeg mits goed geconfigureerd en goeie hardware.
Tenzij je een site als Google of Facebook runt ofzo
Uiteraard met bronquote:"Google runs critical business systems with MySQL and InnoDB. The systems require 24x7 operation with minimal downtime. The systems support large OLTP and reporting workloads. We are very happy with the scalability, reliability and manageability of this software."
Iets groter dan die van FOK!quote:Op dinsdag 26 juni 2012 23:26 schreef Muffle het volgende:
[..]
Hoe groot zou de database van google zijn?
Ik gok ongeveer 100x zo groot als de rest van het internet. Aangezien ze dat allemaal in cache hebben voor weet ik hoeveel jaar terugquote:Op dinsdag 26 juni 2012 23:26 schreef Muffle het volgende:
[..]
Hoe groot zou de database van google zijn?
quote:
http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/quote:Facebook uses MySQL, but primarily as a key-value persistent storage, moving joins and logic onto the web servers since optimizations are easier to perform there (on the “other side” of the Memcached layer).
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |