مشكلة مفاتيح API التي لا تنتهي صلاحيتها أبدًا
المفتاح الذي صدر قبل سنوات، ولم يُبدَّل قط، ولا يزال صالحًا حتى اليوم ليس ميزة مريحة. إنه عبء لم ينظر فيه أحد فعلًا منذ سنوات.
نقطة نهاية الدفعات التي تقبل ألف عنوان في استدعاء واحد ولا تُحتسب إلا طلبًا واحدًا من حصتك تبدو سخية على صفحة الأسعار. لكنها ليست سخية. إنها خطأ تقريب ينتظر أن يصبح مشكلة سعة، لأن العمل الفعلي وراء ذلك الاستدعاء، أي ألف عملية بحث منفردة، لم يتقلص لمجرد أنه وصل في مظروف واحد.
نحتسب الطلبات المجمعة وطلبات الدفعات بالطريقة التي نحتسب بها كل شيء آخر: عنصر واحد، طلب واحد. فإن أرسلت ألف عنوان في استدعاء دفعة واحد، فذلك ألف طلب من حصتك المجانية أو من رصيدك مسبق الدفع، تمامًا كما لو استدعيت نقطة النهاية ألف مرة منفصلة. وراحة الدفعات، أي رحلات ذهاب وإياب أقل وعبء اتصال أقل، حقيقية وتستحق الاستفادة منها. لكن تكلفة عمليات البحث نفسها لا تتغير لأنك طلبتها معًا.
إن تسعير الطلبات المجمّعة بثمن رخيص بشكل مصطنع يخلق تشوهًا غريبًا. فهو يكافئ إعادة هيكلة التكامل حول طلبات مجمّعة كبيرة لمجرد توفير المال، لا لأن التجميع يناسب سير عملك فعلًا. كما أنه يجعل تخطيط السعة الفعلي لدى المزود أصعب فهمًا من الخارج، لأن «الطلب» لم يعد يعني وحدة عمل ثابتة. والعميل الذي يقارن بين المزودين على أساس عدد الطلبات يوميًا لا يستطيع المقارنة بإنصاف إذا كان طلب أحد المزودين قد يحتوي سرًا على ألف عملية بحث بينما طلب الآخر لا يحتوي عليها.
كما أن العدّ على أساس العناصر يحافظ على دلالة ترويسات الحصة لدينا. فكل استجابة تحمل عدد ما استخدمته وما تبقى لك، وهذا الرقم لا يعني شيئًا إلا إذا كان الطلب طلبًا بغض النظر عن شكله. فلو كانت دفعة من ألف عنصر تكلّف وحدة واحدة في صمت، لما أخبرتك تلك الترويسات بشيء تقريبًا عن استهلاكك الحقيقي، ولما عرفت الرقم الحقيقي إلا عندما يصطدم نمط استخدام أكبر بكثير وغير مجمّع بحد لم تكن تتوقعه.
وهناك حجة تتعلق بالإنصاف أيضًا. فالعميل الذي يرسل طلبات فردية والعميل الذي يرسل دفعات يطلبان منا القيام بالمقدار الإجمالي نفسه من العمل مقابل السعر الإجمالي نفسه. وتحصيل مبلغ أقل عن كل عملية بحث من عميل الدفعات، لمجرد أن الطلبات مغلفة معًا، يعني أن عميل الطلبات الفردية يدعم فعليًا بنية تحتية ليس هو من يُثقل كاهلها. أما تحصيل المبلغ نفسه عن كل عملية بحث من كليهما فيبقي السعر مرتبطًا بالعمل، لا بطريقة تغليف العمل.
لا يعني أي من هذا أن التجميع بلا جدوى. فهو لا يزال الطريقة الصحيحة لإرسال مجموعة كبيرة ومعروفة من عمليات البحث في رحلة واحدة ذهابًا وإيابًا، ونحن ندعمه لأن تقليل الاتصالات وخفض الحمل الإضافي مكسب حقيقي في الكفاءة من جهتك. أما ما لا ينبغي للتجميع أن يفعله، على أي من جانبي الطلب، فهو تغيير التكلفة الفعلية لعمليات البحث. فألف عملية بحث هي ألف عملية بحث، سواء وصلت واحدة تلو الأخرى على مدار فترة بعد الظهر أو دفعة واحدة في طلب واحد.